02 / Civic platform

Tholakala

A missing-persons and lost-property platform for gatherings of tens of thousands, built for the annual pilgrimage at Ebuhleni.

Year
2026
Status
In build. The console and the field app both run; the platform has not yet been used for a full pilgrimage.
The Tholakala public page: 'Ulahlekelwe othile? Sizokusiza umthole.' with the search bar, the three actions and the Izwi notices ticker.

The problem, stated properly

At that scale the bottleneck isn't the database. It's that a worried person and the person looking for them are standing three hundred metres apart with no shared channel, and the only infrastructure between them is a steward with a phone and patchy signal.

So the design starts from the steward, not the app. A steward console used standing up at physical Help Points, offline-tolerant because signal at the site is not reliable; a Flutter field app for stewards moving around the grounds; and a public page where anyone can browse open cases and submit a report without an account.

The rule that shaped it

Found adults and found children are handled differently, always.

A capable adult who has been found can have a finder's contact number published. A child never can. A found child goes to a Help Point and the handover is done in person by a steward, who verifies the collecting adult and records it. The handover screen exists because that step has to be deliberate, logged, and impossible to skip by accident.

The open cases list under the search.
Open cases, filtered by everyone, children, elders, adults. A found child is never listed with a contact number.
The steward console.
The steward console: case intake, photo, matching, handover and property claims, with an audit trail on every write.
Izwi leNkosi notices and the Help Point rule.
Izwi: directives from church leadership, published to the public surfaces and to unattended screens at the site.

What it is built from

  • Next.js 16
  • Neon Postgres
  • Vercel Blob for photos
  • Flutter field app
  • Offline write queue with replay

Known limits

Stated plainly, because a client should know what they have.

  • Not yet run for a full pilgrimage.
  • Steward accounts are password-based with role guards; no SSO.

Need something like this to run on?

A thirty-minute call, then a written scope within five business days. No obligation either way.

Start a project
Call
30 minutes
Scope
5 business days
Build
Weeks, in the open