All projects



ShippedSolo Builder · 2026
OpenHealth NG
Geospatial directory and API for finding 2,000+ healthcare facilities across Nigeria with sub-50ms query performance.
Next.js 15SupabasePostGISGeospatial

“Nigeria has thousands of healthcare facilities but no single reliable API or directory to find them — especially during emergencies.”
Case Study
01
The Problem
Healthcare data in Nigeria is heavily fragmented. While there are thousands of clinics, hospitals, and pharmacies, finding accurate, location-based information about them is surprisingly difficult. During an emergency, people rely on word-of-mouth or outdated Google Maps listings. There is no unified, developer-friendly API or accessible public directory for this critical infrastructure.
02
The Insight
The data exists, but it is siloed in various government PDFs, unstructured datasets, and disparate registries. By aggregating, cleaning, and geocoding this data, I could build a reliable foundational layer. A fast, map-based interface would serve the public, while an API could empower other developers to build health tech solutions on top of this dataset.
03
The Approach
My approach started with data engineering. I needed to build a pipeline to ingest messy data, standardize the schema, and accurately plot it on a map. Performance was key; querying thousands of geospatial points can quickly become sluggish. The UI needed to be intuitive, functioning as a simple search engine for healthcare with specific filters for emergency services and operational hours.
04
The Build
I developed OpenHealth NG, featuring a database of over 2,000 Nigerian healthcare facilities. The core of the application is a map interface built with React-Leaflet, backed by a powerful search and filtering system. Users can filter by emergency services, facility type, and explore by state. Under the hood, I built a data cleaning pipeline that utilizes OpenStreetMap's Nominatim for accurate geocoding of facility addresses.
05
Technical Decisions
I chose PostgreSQL with the PostGIS extension (hosted on Supabase) because it is the gold standard for geospatial databases. I utilized spatial indexing (GIST) and optimized queries using `ST_DWithin` to handle proximity searches efficiently. For the frontend, Next.js 15 provides the necessary performance. By offloading the heavy lifting to PostGIS, I was able to optimize geospatial query response times from ~800ms down to ~50ms.
06
Challenges
The biggest hurdle was the data cleaning process. Address formats in Nigeria can be highly irregular, making automated geocoding prone to errors. I had to write custom scripts to parse and format addresses before passing them to Nominatim, and manually verify edge cases. On the database side, learning to write and optimize complex PostGIS queries to maintain sub-100ms response times as the dataset grew was a significant learning curve.
07
Outcome
OpenHealth NG now serves as a fast, reliable directory for healthcare facilities. It proves that building robust, public-interest data infrastructure is feasible with modern web tools. The performance optimizations ensure that the map remains responsive even on lower-end devices, which is critical for accessibility.
08
Reflection
If I were to expand this, I would implement a crowdsourced verification system. Static datasets eventually become stale, so allowing users or facility managers to suggest edits and verify listings would ensure the data remains accurate over time. I'm also looking into standardizing the API to encourage more open-source health projects in the region.
Screenshots


