FactSmithBook a call

Insight

Please publish one project update: an appeal to whoever takes office

Whoever is elected today, here is a small ask: five minutes a day to show residents where one public project stands. It needs no new system, and it builds trust.

Written for any administration. This piece is published on local government election day. It is an appeal to whoever takes office, in any party, at any level. It names no candidate and no official, and it starts from what is true of most public servants: they want people to see what they do. What is usually missing is a routine, not goodwill.

The short version.

  • Pick one public project that residents ask about most. Give one person about five minutes a day to publish a short update, on a schedule, at one web address.
  • If nobody publishes, the page says "No update received" by itself, and the missed update is flagged to the next level up.
  • If another level of government owns the project, the municipality adds its own dated comments beside that department's updates, so residents can see who owns what.
  • It is not blame, not a new law and not a new system. A free reference kit is at the bottom of this page.

Our ask, in a few lines

To every mayor, councillor and municipal manager taking office today: please pick one public project your residents ask about most.

Give one person about five minutes a day to keep its status page current. Publish a short update on a fixed schedule, at one web address, in one format.

That is the whole ask. Keep it for 30 days, then add a second project when the habit has settled.

This is not blame. It is not a new law or a new system. It is a simple routine for showing your work, and it protects the good work already being done.

Why we are asking: the bridge story

Today is day 597 since the Umzimkhulu River Bridge on the R102 closed. The last official statement we could find is dated 23 August 2026. It promised regular progress updates.

The September target has passed without a public word either way. We want to be careful here, and we will keep being careful.

Silence in public sources is not proof that the work stopped. Engineers’ sign-offs and completion certificates are normally internal records. The work may be going very well.

But silence has a cost. Picture the taxi driver at the stop-go. The driver cannot tell passengers whether next week will bring a long wait.

Picture the shop owner on the far side of the river. The owner watches customers give up and go elsewhere. Commuters, taxi operators and businesses all plan around guesses. Rumours fill the gap.

And good work goes unseen. That is unfair to the people doing it.

None of this needs a big budget or new software. It needs a habit with a fixed shape.

What we are asking you to do

  1. Choose one project. Pick the one residents ask about most. Start there and nowhere else.
  2. Give it five minutes a day. Someone pastes in the site report, reads a draft, and clicks approve. On quiet days the click is “no change today”.
  3. Publish one short update on a schedule, at one address. Daily for a closed bridge on a main route. Weekly for a slow pipe replacement. Always the same web link, so anyone can share it.
  4. Say who owns the project. If it is not yours, say so plainly, and add your own dated comments next to the official updates.
  5. Let missed updates flag themselves. If no update arrives, the page says so by itself, and the flag moves up your own line of command.
  6. Start with one project for 30 days. Prove the habit, then add more.

Who is really responsible

Here is a line that is often misunderstood, and it matters for this bridge.

Many big projects are not run by the local municipality at all. A bridge on a provincial road, like this one on the R102, is run by a provincial department. In this case it is the KZN Department of Transport.

The municipality’s hands are often tied. Yet residents look to the municipality and to their local councillors for answers. That is who they know and who they can reach.

Under this routine, the department publishes the updates. The local municipality uses the same system to add its own dated comments next to them. For example:

“Residents keep asking us about the bridge. It is a provincial road, so the department runs the repair, not the municipality. We asked the department for an update on 2 November and will post its reply here.”

A comment never changes the official status. It never counts as the department’s update. It simply shows residents who owns the project and what the municipality has done.

Flags about missed updates are copied to the municipality too. That way councillors know what residents are asking about.

This is not about passing blame. It is about making the line of accountability visible. People should know where to look and who to ask.

The idea in plain words

Every public project publishes one short status record. The record goes out on a fixed schedule, in a fixed format, at a fixed web address. If nobody publishes, the system says so in public and tells the next level up.

That is the whole idea. One page per project, updated on a rhythm that suits the project, reachable with a link anyone can share.

Think of it like a shop door sign. “Back in 5 minutes” tells you the shop has not vanished, even if the door is locked. “No update today” does the same job for a road or a water pipe.

Diagram of the five-minute daily workflow: today's site report, an AI-assisted structured draft, a human decision to approve the update or confirm no change, the 10:00 cut-off, and the public update. One report, one quick check, about five minutes.

In short: someone pastes in the site report. An AI assistant drafts the update. A named role approves it. On most days, approval is one click: “no change today”.

The AI’s job is narrow on purpose. It reads what the project team already writes: a site report, meeting minutes, an email. It fills in the form. Where the report says nothing, the field stays empty. It never estimates.

Then the software checks the record against fixed rules before anything is published. It refuses unknown fields, a summary that is too long, an update without a source, a back-dated record, and a target date that moved without a stated reason. AI drafts, people approve, and the rules decide what can be published.

The heart of the idea is the heartbeat. Every project has a published rhythm. At the cut-off, every project gets a record.

If nothing changed, the official clicks “no change”. That is news. For someone waiting at a stop-go, “no change, confirmed today” is worth a lot more than nothing.

If nobody does anything by 10:00, the page says “No update received” by itself. It does not repeat yesterday’s status as if it were current. It points back to the last official record and leaves today’s status empty. The feed is never silent, and silence can never be mistaken for good news.

What happens when nobody speaks

Three checks run every day:

  • No update. Scheduled updates were missed, one after another.
  • Target passed. The target date is behind us, the project is not complete, and no new target has been published.
  • Not verified recently. The last real site check is older than the project’s limit. This stops “no change” from becoming a habit nobody checks. In our fictional example, a water main has said “no change” for four weeks on the strength of one inspection on 7 October, and the flag says so.

Each open flag climbs the owner’s own ladder, by how long it has been open.

For a municipal project the ladder runs: the communications manager, then the municipal manager, then the Municipal Public Accounts Committee (MPAC). MPAC is the council committee that checks how the municipality spends money and does its job.

For a provincial road the ladder runs: the department’s communications officer, then the Head of Department, then the provincial legislature’s portfolio committee. A portfolio committee is the group of provincial lawmakers who watch one department.

The ladder lives in a settings file. Each institution sets its own steps and timings.

The flags are public too. A flag does not say anyone did anything wrong. It says a promise about information was not kept, and who is now responsible for answering. Accountability becomes routine instead of a fight.

Diagram of escalation: a missed update goes to the Communications Manager on day 1, the Municipal Manager or Head of Department on day 3, and the MPAC or Portfolio Committee on day 7. Silence is recorded, and continued silence becomes more visible.

How ordinary people read it, with tools they already have

The output is a handful of plain files at addresses that never change. People use their own tools.

  • Ask a chatbot. “Read this page and tell me whether the bridge is open for trucks.” Paste the address of the text file into ChatGPT, Claude, Gemini or Copilot.
  • Community WhatsApp and Telegram groups. A simple bot posts the text file each morning. Ward committees and taxi associations already run groups like these.
  • News desks and RSS readers. The feed lists every record, newest first.
  • Excel. The full history downloads as a spreadsheet: every record, every target change and its reason.
  • Developers and researchers. An index file lists every project with links to its records and flags.

No app to download. No API key, no login, no database. Any existing government website can host it, because the files are just files.

The plain-text version is about 1 KB, so it opens on any phone and costs almost nothing in data. A summary in a second language can sit beside it later.

Diagram: one public update feeds six channels, the public project page, community messaging, a plain-language AI answer, a research and open-data table, a newsroom and RSS feed, and accessibility and translation.

From one project to the whole country

Because every project publishes the same small record, the records add up.

A district can see all its projects at a glance. A province can see all its departments. National oversight, all the way to the Presidency, can see one picture across roads, water, electricity and housing.

That picture shows which projects have gone quiet, for how long, and whose turn it is to answer. Nobody has to send a report upwards. The higher levels simply read what is already public.

And anyone can click from the national picture down to a single project and the document behind its latest update. A newsroom or a university could build the same view from the same files. We will set out how in a follow-up piece.

Illustrative diagram with made-up figures: local public project records are aggregated automatically into an executive view showing 142 projects active and communicating and 12 silent for 7 or more days, with attention by sector. A five-minute local habit creates a live national view, with zero additional reporting.

What this is not

We know how this can sound to a busy official. So let us be clear.

  • Not a judgement on the work. A missed update is a fact about communication. Completion certificates and engineers’ approvals are normally internal and stay that way.
  • Not surveillance of staff. The public record shows a role and a department, not a person.
  • Not proof of progress. “No change” is the official’s word. The site-check flag limits how long that word can stand alone, but it does not replace inspections, council reports or the Auditor-General.
  • Not a new legal duty. It is good practice that sits comfortably with section 195(1)(g) of the Constitution. That section says transparency must be fostered by providing the public with timely, accessible and accurate information. It also sits with section 15 of the Promotion of Access to Information Act (PAIA). PAIA is the law that lets people ask public bodies for records, and section 15 lets a public body make records available without anyone having to ask.

If the bridge had had a feed

This is a thought experiment, not a reconstruction. Suppose the Umzimkhulu bridge had run this routine on a weekly rhythm from the day of that 23 August statement.

Each week since, the page would have shown either a short confirmed update or a dated “No update received”. The municipality could have added its own comments next to the department’s updates, showing residents what it had asked and when.

After the first missed week, the flag would have been on the communications officer’s desk. Within the following week it would have reached the Head of Department and then the portfolio committee. No resident would have had to file a request, write a letter or phone a radio station.

Most likely, someone would simply have clicked “no change, works continuing, new target to follow”. That alone would have answered the question most people were asking.

What it asks of a municipality or department

  • One person, about five minutes a day. Paste the latest report, read the draft, click approve, or click “no change”.
  • No new system. The daily job runs on an ordinary computer or any scheduled task. The files go on the website you already have.
  • Start with one project. Pick the one residents ask about most, publish its rhythm, and run it for 30 days. Add more once the habit sticks. Begin with one willing team, not a rule handed down from above.
  • Keep personal information out of AI tools. Site reports rarely need it. Check your position under the Protection of Personal Information Act (POPIA), the privacy law, before pasting anything that does.

Two limits, honestly: the kit counts calendar days, not working days, and it publishes summaries in one language. Both are small additions. A summary in isiZulu, isiXhosa, Afrikaans or Sesotho, drafted by AI and approved by the same person, is a sensible next step.

Quick answers

What is a public project status feed?

It is one short update per public project, published on a schedule at a fixed web address, in formats that people and their own tools can read: plain text, a spreadsheet, a news feed and a data file. If nobody publishes by the cut-off, the page records “No update received” by itself.

How can a municipality be more open about its projects?

Choose the one project residents ask about most. Give one person about five minutes a day to publish a short update, and keep to that single project for 30 days before adding more. No new system is needed.

Who is responsible when a provincial or national department runs a project in a municipality?

The department owns the project and publishes its updates. The local municipality uses the same system to add its own dated comments beside them. A comment never changes the official status and never counts as the department’s update.

What happens when an update is missed?

The page says that no update was received, and does not repeat the old status as if it were current. Missed updates, passed target dates and old site checks are flagged, and each flag climbs the owner’s own ladder. For a municipal project that is the communications manager, then the municipal manager, then the Municipal Public Accounts Committee (MPAC). For a provincial road it is the communications officer, then the Head of Department, then the provincial legislature’s portfolio committee.

Does a missed update mean the work has stopped?

No. A missed update is a fact about communication, not about the work. Engineers’ sign-offs and completion certificates are normally internal records, so silence in public sources is not proof that work stopped.

This routine is good practice, not a new legal duty. It sits comfortably with section 195(1)(g) of the Constitution, which calls for timely, accessible and accurate information, and with section 15 of the Promotion of Access to Information Act (PAIA), which lets a public body make records available without anyone having to ask.

How can residents read the updates?

With tools they already have: paste the address of the text file into a chatbot, follow it in a community WhatsApp or Telegram group, subscribe with a news feed reader, or open the full history in Excel. There is no app, key or login.

Is the reference kit free to use?

Yes. The kit has the record format, the drafting prompt, sample inputs and outputs, and an MIT licence, so it can be used, changed and shipped, including commercially. All sample data is fictional. The engine that runs the daily build is available on request from FactSmith.

For the technical reader

This is the plain-text record for a fictional bridge, exactly as the reference kit produces it. It is about 1 KB, so it opens on any phone and costs almost nothing in data:

Example River Bridge repair (fictional)
Owner: Example Provincial Roads Department (fictional)

4 Nov 2026: NO UPDATE RECEIVED. No update was received by the 10:00 cut-off. Last official record: 31 Oct 2026.

Last official record: 31 Oct 2026, no change, confirmed
Status: in progress
Public impact: One lane open under stop-go control 06:00-18:00. Closed to heavy vehicles.
Target date: 14 Dec 2026
Next milestone: Deck pour on span 3, now planned for 11 November
Last site check: 29 Oct 2026
Source: Resident engineer's site report, 29 Oct 2026 (fictional) https://example.invalid/bridge-site-report-2026-10-29.pdf
Next update expected: 5 Nov 2026
Comment, 3 Nov 2026, Communications manager, Example Local Municipality: Residents keep asking us about the bridge. It is a provincial road, so the department runs the repair, not the municipality. We asked the department for an update on 2 November and will post its reply here.
FLAG NO_UPDATE: 4 scheduled update(s) missed in a row. Open 4 day(s); escalated to: Head of Department.

Full history: https://www.factsmith.co.za/insights/public-project-status-feed/kit/sample/public/status.csv
Feed: https://www.factsmith.co.za/insights/public-project-status-feed/kit/sample/public/feed.xml

Behind it sits a structured record that software can read. Here is the fictional update of 29 October, when rain moved the target date (hashes shortened):

{
  "project_id": "example-river-bridge",
  "as_of": "2026-10-29",
  "kind": "update",
  "status": "in_progress",
  "public_impact": "One lane open under stop-go control 06:00-18:00. Closed to heavy vehicles.",
  "percent_complete": 64,
  "target_date": "2026-12-14",
  "target_change_reason": "Heavy rain on 27 and 28 October delayed the span 3 deck pour by about two weeks.",
  "next_milestone": "Deck pour on span 3, now planned for 11 November",
  "last_verified_at": "2026-10-29",
  "summary": "Rain delayed the span 3 deck pour. New target for both lanes open: 14 December 2026. One lane stays open under stop-go.",
  "sources": [{"title": "Resident engineer's site report, 29 Oct 2026 (fictional)", "url": "https://example.invalid/...", "date": "2026-10-29"}],
  "approved_by": "Communications officer, Example Provincial Roads Department",
  "next_expected_update": "2026-10-30",
  "prev_hash": "1afa59f3...",
  "hash": "fbde0ec1..."
}

Every fact a resident cares about is either stated with a source or left empty. Nothing in between.

The kit is small, but it follows the same rules we use for business data:

  • A contract. The format is written down and enforced. A record either meets it or is not published.
  • History is never edited. Records are only ever added. A mistake is fixed with a correction record that points at the one it corrects, so the public can see both.
  • Tamper evidence. Each record carries a fingerprint of the one before it. Quietly editing an old record breaks the chain, and anyone can run the check.
  • Every claim has a source. Updates without a source document are refused.
  • Rebuild from history. The public files are regenerated from the log every day, so running the job twice changes nothing.
  • Freshness is the measure. The one number that matters is how old the newest official word is.
  • Settings apart from code. Projects, rhythms and escalation ladders are a settings file a manager can read.
  • Open formats. Text, JSON, CSV and feed formats. Later, the same records can map into the Open Contracting for Infrastructure Data Standard (OC4IDS) if a province wants to go further.

Try it

The free kit is a worked example you can open today: the format, the drafting prompt, and sample inputs and outputs. All sample data is fictional: a bridge on a provincial road, a water main in a municipal ward, and a comment from the local municipality.

The engine that runs the daily build is not in the download. For the source repository, contact FactSmith.

So here is the ask again, to whoever takes office today. Pick one project. Give it five minutes a day. Publish one short update on a schedule, at one address. Say who owns it. Let silence flag itself.

The first step is small: choose the project and name the person. Do it this week, and let the first update go out within days.

Where this idea comes from

This proposal comes from two things side by side: years of building monitoring dashboards inside national government, and watching residents around the Umzimkhulu River Bridge wait for news that did not come. The first showed me that government can keep a regular, comparable record of how its projects are doing. The second showed what happens when that record is not shared with the people who live with the result.

From 2006 to 2012 I led a business-intelligence team at Asyst Intelligence whose main client was the national Department of Public Enterprises. We built the monitoring dashboards behind the department’s Isibuko programme, which tracked how state-owned companies were performing: governance, risk, finances, capital spending, skills development, B-BBEE and government guarantees.

Isibuko is the isiZulu word for mirror. In a 2010 briefing to Parliament the department explained the name: the dashboard reflected the performance of each state-owned company at any given point. The companies reported into it every quarter, signed off by their boards. The department used it to spot trends and risks early, and its measures matched what each company had promised in its shareholder compact, the agreement that sets out what it must deliver.

Three lessons from that work run straight through this proposal:

  • Agree the shape of a report first. When every report has the same fields, you can compare, add up and spot trouble without asking again.
  • The owner signs off. There it was the board; here it is a named role approving each update.
  • Regular, comparable updates give early warning. The department’s own annual report said ongoing monitoring helped identify problems early.

The big difference is who gets to look. Isibuko was a mirror for government to see itself. What I am asking for now is a mirror the public can look into too.

Pass it on

If this makes sense to you, please send it to someone who will hold office after today, or to someone who will ask them for it.

Or email it to your ward councillor or municipality with a short, polite note already written.

Work in a municipality or a department and want to try this on one project? Get in touch or book a 30-minute call. The kit is free under the MIT licence.

All sample projects, departments, municipalities and documents in the kit are fictional. Facts about the Umzimkhulu River Bridge come from the evidence article, which lists its sources.

Book a 30-minute call

Tell us which systems hold your numbers and which questions you need answered. We will tell you honestly whether we can help.

Book a 30-minute call

Or email emilio@factsmith.co.za