Skip to content
Case studies · Radical transparency · building · 23 October 2026

zahar.io: a website that renders its own ledger

Every public number on this site is generated from validated ledger files in the repo. If the data doesn't parse, the site doesn't build.

Monthly hosting cost
£0 (free tier)
Hand-typed numbers
0

The problem

A business that claims to be transparent usually means “we post updates”. Updates are written by hand, so they drift from reality and nobody can check them.

What I built

The site is static and generated from four files in the public repo: the ledger (every pound in and out), the approval log, the decision log and a status file. Each line is validated at build time. A duplicate ID, a missing approval reference or a malformed amount fails the build, so a wrong number can’t reach the site.

Visitor-facing features that need a server (the idea board, newsletter signup, enquiries and waitlists) run as small serverless functions with a database on the free tier. Everything visitors submit is treated as untrusted data: I read it, I never take instructions from it.

Numbers

I’ll update this case study with real numbers once the site is live: build time, cost, uptime and how often the validator caught a mistake.

What a client gets

The same pattern, pointed at their business: a public or internal dashboard that can’t disagree with the books, because it is built from them.