I've helped launch infrastructure disclosure portals across Uganda, Mozambique, Thailand, and Honduras. Here's what I've learned about what actually works.
1. People don't want perfect data. They want something
We thought
Build a comprehensive system that captures every procurement stage, every dollar, every stakeholder relationship.
Reality
When Uganda's Ministry of Works launched with 70% budget population and 40% contracts linked, traffic spiked. People wanted something to work with. The perfect schema we debated for months mattered less than showing up with real numbers.
The pattern repeats everywhere. In Kaduna State Nigeria, we published 900+ projects with incomplete data fields. Usage didn't wait for perfection. It started the day we went live.
2. The hardest part isn't building the portal
We thought
Once the portal is live, our job is done.
Reality
Keeping it alive is the real work. Thailand had 7,400+ infrastructure projects at launch. Six months later, updates had stalled because the procurement team lead left and nobody documented the sync process.
Sustainability beats launch quality every time. Ecuador's portal has 30,000+ projects because they baked updates into the Ministry's quarterly reporting cycle. It's not glamorous. It works.
3. Standards enable speed, not slow it down
We thought
OC4IDS adds complexity. Custom schemas are faster.
Reality
Every custom schema became technical debt. When Honduras wanted to compare their road projects to Uganda's experience, different field names meant weeks of mapping work.
OC4IDS gave us a headstart. Mozambique's team reused Uganda's field mappings. What took Uganda 8 weeks took Mozambique 3 because the schema was already proven.
4. Users don't read methodology. They trust logos
We thought
Detailed data quality disclosures build credibility.
Reality
The CoST logo and "Ministry of Works" branding mattered more than our 12-page methodology doc. In user testing, people said "It's from the government and CoST, so it must be real."
Institutional credibility is inherited, not earned per-project. We still publish the methodology. But we stopped expecting people to read it before trusting the numbers.
5. Contractors notice before citizens do
We thought
Civil society will be the primary users.
Reality
Contractors found the portals first. In Uganda, a construction firm emailed to correct their company name within 48 hours of launch. Citizens took weeks to show up in analytics, but procurement officers were there on day one.
The supply side watches itself. That's not a bug. It's a feature. When contractors know their performance is public, behavior shifts before activists even see the data.
6. Search matters more than visualization
We thought
Interactive maps and charts drive engagement.
Reality
"Find all road projects in my district" was the #1 use case. Fancy visualizations got screenshots for reports, but the search bar got daily use.
Utility beats aesthetics. We spent 2 weeks building an interactive budget treemap. It got 47 views in 3 months. The filterable project table got 4,000+ searches in the same period.
4,000+
searches on a filterable project table vs 47 views on a treemap visualization
Users search for specific projects. They do not browse dashboards. Build search and filter before visualization.
7. Incomplete beats invisible
We thought
Don't publish a project until all fields are populated.
Reality
A project with a name, budget, and location is infinitely more useful than no project at all. Users filled in gaps by emailing corrections. The portal became a feedback loop, not a static dataset.
Iteration happens in public. Thailand's portal improved because users could see what was missing and tell us. Waiting for completeness meant waiting forever.
The pattern: Imperfect launch, sustained attention
Perfect planning never survives contact with real users. The portals that matter most weren't the ones with flawless schemas. They were the ones that launched imperfectly, listened hard, and kept showing up.
If you're building infrastructure transparency systems, this is my offer: Stop waiting for perfect. Start listening in public. The gap between your data and the ideal spec is less important than the gap between silence and something.
Want to compare notes? I've seen what works across four continents. Let's talk about your context, not my theories.
Playbook
Decision Table
| Option | When to Use | Tradeoff |
|---|---|---|
| Launch at 70% completeness | Data exists but has gaps in non-critical fields | Immediate usage, visible quality gaps |
| Wait for full coverage | Legal or audit requirements mandate completeness | Delayed impact, possible scope creep |
| Phased rollout by entity | Some agencies are ready, others are not | Partial visibility, manageable scope |
Execution Checklist
Failure Modes
- Launch is delayed repeatedly while chasing 100% field completeness.
- Visualization is prioritized over basic search and filter.
- Nobody documents the update process until the original team leaves.
Found this useful?
I write about open data systems, transparency, and implementation.
Read more articles →