# True Access: Building SA's First Disability Accessibility Map
4.2 million South Africans live with disabilities. Until True Access, there was no verified, real-world database of which public spaces were actually accessible.
The problem is not just the absence of the database. It's the absence of the incentive for businesses to provide the data. True Access was designed with a B2B flywheel that solves both.
SANS 10400-S: The Standard Behind the Product
SANS 10400-S is the South African National Standard for accessibility in the built environment. It specifies ramp gradients, door widths, bathroom configurations, signage heights, and 147 other requirements for public-facing buildings.
Most South African businesses do not know whether they're compliant. Most South African businesses with non-compliance have no efficient path to remediation. True Access turns this into a revenue model.
How the flywheel works:
- Business owner claims their listing on True Access
- They complete a SANS 10400-S audit checklist (guided by the app)
- The audit surfaces gaps: "Your main entrance ramp exceeds the maximum 1:12 gradient. Estimated remediation: R8,000-R15,000."
- The app connects them with certified accessibility contractors (True Access partner network)
- Post-remediation, they receive a "True Access Verified" badge and featured placement in search results
- Their verified status drives footfall from South Africa's 4.2M disabled citizens and their networks
The audit doesn't just score compliance. It sells the fix. That's the B2B architecture.
Expo SDK 52: One Codebase, Three Platforms
True Access runs on iOS, Android, and web from a single Expo SDK 52 codebase. The map component is Mapbox, chosen for its South African data accuracy and offline tile caching. The offline mode was not optional: a wheelchair user navigating to a venue should not lose their accessibility data when they lose cell signal in a building lobby.
// Offline-first approach: cache tiles when online
await OfflineManager.createPack(
'cape_town_cbd',
{
styleURL: MapboxStyles.STREETS,
minZoom: 10,
maxZoom: 18,
bounds: CAPE_TOWN_CBD_BOUNDS,
}
);
TanStack Query v5 handles server state with aggressive offline persistence. The last-synced venue data is available without network. When connectivity returns, the app reconciles.
The GeoJSON Export API
The most technically interesting backend feature: a GeoJSON export API that allows municipalities, urban planners, and disability advocacy organizations to download the True Access database as a GeoJSON feature collection.
// GET /api/venues/export?format=geojson&city=cape-town&verified=true
{
"type": "FeatureCollection",
"features": venues.map(v => ({
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [v.lng, v.lat] },
"properties": {
"name": v.name,
"accessibility_score": v.score,
"sans_compliant": v.certified,
"features": v.accessibilityFeatures,
"last_audited": v.auditedAt,
}
}))
}
This is data infrastructure. Municipalities can use it for urban planning. Property developers can use it during planning applications. Insurance companies can use it for liability assessment. The True Access database, exported as GeoJSON, becomes an input to the built environment, not just a consumer app.
What This Taught Me About Building for Underserved Markets
The incentive architecture matters more than the technology. We could have built a beautiful accessibility map and waited for businesses to voluntarily add their data. Instead, we built an audit tool that makes compliance profitable, and the map fills itself.
Technology that serves disabled South Africans while making the B2B proposition obvious to able-bodied business owners is how you scale something that would otherwise depend on altruism. Altruism doesn't scale. Aligned incentives do.
What underserved population in your city has data that doesn't exist yet?
Reader Insights
0 responses
No insights yet. Be the first!