Most software has a beautifully simple accountability loop: users pay, so the product serves users, and the money tells you when you've stopped. Break the service, watch the revenue, adjust. The market grades your homework weekly.
Then there's the other kind of software, the kind we built with The Receipt, a Nigerian political accountability platform. Its users are citizens who will never pay. Its subject matter is power. Its failure modes aren't churn dashboards; they're misinformation, mistrust, and silence.
Building it taught us lessons that client work and even our commercial product lessons never could, because every familiar rule of product design had to be rebuilt without its usual foundation. Here's what we found underneath.
Lesson 1: When users don't pay, you must find what they do spend
No revenue signal doesn't mean no signal, citizens spend something scarcer than money on a civic platform: attention, and the risk of belief. Every visit is someone deciding your information is worth their time; every share is someone staking a sliver of their credibility on yours.
Once we saw that as the currency, design decisions clarified. Commercial products optimize toward payment; The Receipt had to optimize toward justified belief, which meant the product's real feature list wasn't functionality at all. It was verifiability: sources visible, claims traceable, the path from assertion to evidence walkable by any skeptic. In commercial work, trust is the lubricant around the product. In civic tech, trust is the product, everything else is interface.
Lesson 2: Neutral design is a myth; disciplined design isn't
Here's the uncomfortable discovery: on a political platform, every design decision is an editorial decision wearing pixels. Which items surface first, what gets a red flag versus a neutral note, even which data is collected at all, each choice shapes what citizens conclude, and someone will read motive into every one of them.
We couldn't design our way to neutrality, because it doesn't exist. What exists is discipline made visible: consistent rules, applied identically to every party and person, published where anyone can check them. The methodology page, the most boring page on the platform, turned out to be its load-bearing wall. It's the same mechanism we've written about in how trust signals work: specificity and checkability are how honesty sounds, except here, the audience is adversarial by design, and vagueness doesn't just underperform. It indicts.
Lesson 3: Design for your angriest reader
Commercial products design for the enthusiastic user. A civic platform must design for the hostile one, the person who arrives determined to find the bias, the error, the reason to dismiss everything.
This inverted our review process. The question stopped being "is this clear?" and became "how will this be attacked, and does it survive?" Every chart got stress-tested for misreading; every summary checked against its own screenshot taken out of context. It's exhausting, and it made the product radically better for everyone, because content hardened against bad faith is, by construction, unambiguous for good faith. We've since imported the technique into commercial work: designing for the skeptic is just designing, done thoroughly.
Lesson 4: Sustainability is the hardest feature
The quiet crisis of civic tech, visible across the field that organizations like Code for Africa and the Open Knowledge Foundation work in: platforms launch on enthusiasm and die of maintenance. No revenue means every hosting bill, every data update, every fix is a small act of will, and abandoned accountability platforms don't just disappear. They rot in public, serving stale data that actively misinforms, converting yesterday's credibility into tomorrow's counter-evidence.
So sustainability had to be designed in as a feature, not hoped for as a mood: architecture chosen for near-zero running cost, update processes lean enough to survive busy seasons, and an honest internal answer to "what does this look like in year three, on a bad month?" It's the civic version of a lesson we preach commercially, software is a living thing, with the stakes turned up: here, letting it die is itself a small public harm.
Why an agency builds this at all
The honest ledger: The Receipt will never be revenue. What it is instead...
It's the hardest design brief we've ever assigned ourselves, and difficulty compounds skill: a team that has built for hostile readers, zero budgets, and radioactive subject matter finds commercial briefs almost restful. It's proof-of-values that can't be faked, any agency can say it cares about Nigerian institutions; a live platform is a different kind of sentence. And it's a stake in the ground about what software is for in a country whose biggest problems will not be solved by another food-delivery app alone.
Businesses survive on trust, and so do societies. We build for both, and it turns out each one trains you for the other.