Inspiration
I kept thinking about how hard it is to find free healthcare if you don't have insurance. There are tools out there, but they're outdated, clunky, and none of them tell you how long the wait is. If you're sick and uninsured, you shouldn't have to dig through five websites just to find a clinic that's open and takes your situation. That frustration is what started ClinicFinder.
What it does
ClinicFinder is a real-time map of over 18,000 federally qualified health centers pulled directly from HRSA federal data. Pins are color-coded by current wait time — green is short, red is long — all crowd-sourced by users. Each clinic shows its address, phone number, star rating, and accepted insurance plans. Guaranteed plans (Medicaid, Medicare, CHIP, Self-pay) are flagged automatically since every FQHC is required by federal law to accept them. Users can filter live by insurance plan, wait time, star rating, and search radius. There's also an emergency care tab with live hospital data from OpenStreetMap plus 40+ hand-verified major US hospitals.
How I built it
Built with Python (Flask) on the backend and Leaflet.js for the interactive map. Clinic data comes from the HRSA Health Center Finder API. Wait time reports are stored and expire automatically after 3 hours to keep data fresh. Hospital data for the emergency tab is pulled live from the OpenStreetMap Overpass API, supplemented with a hand-curated dataset of major hospitals. Insurance filter data is seeded via a seed script with 27 plans across all major carriers.
Challenges I ran into
Getting the insurance filtering to update the map in real time without full page reloads took more work than expected. The HRSA dataset is also large — optimizing queries so the map stays responsive under filtering was a real challenge. Deciding what to show on the clinic sidebar without overwhelming users took several iterations.
Accomplishments that I'm proud of
The wait time system works exactly like I envisioned — two taps to report, auto-expiry after 3 hours, no account needed. The insurance badge system clearly separating guaranteed federal plans from community-reported ones is something I haven't seen anywhere else. And the emergency tab pulling live OpenStreetMap data means it never goes stale.
What I've learned
How to work with federal health data APIs and how inconsistent real-world datasets can be. Also learned a lot about Leaflet.js clustering and performance — rendering 18,000 pins efficiently required marker clustering and careful layer management.
What's next for ClinicFinder
- Push notifications for wait time drops at saved clinics
- Verified clinic accounts so staff can update hours and info directly
- Spanish language support
- Mobile app version
- Expanding beyond FQHCs to include free clinics and community health events
- More countries to support this site/app.

Log in or sign up for Devpost to join the conversation.