Inspiration
Our teammate's brother recently had a baby and told us about his medical bill. It was more than he could afford at the time, so he talked to the hospital and negotiated his copay price to a price he could pay. Not many people know you can negotiate when it comes to medical bills so we wanted a way to help them.
What it does
Turns a hospital bill into a citation-backed comparison against the hospital's own publicly disclosed prices, and provides a monetary value to discuss with the hospital for leverage in lowering the prices.
How we built it
We ingested the machine-readable price files hospitals publish and kept only rows we could verify against the source. Bill lines are matched to published records by billing code in confidence tiers, so each comparison shows how sure it is and where the number came from. The backend is Python (FastAPI, SQLAlchemy) with 60 automated tests. The frontend is Next.js with React and TypeScript, which serves the phone page and the projector screen, generates the QR code on the server, and is hosted on Vercel. We tested the phone-to-screen flow with Playwright at phone and projector sizes.
Challenges we ran into
Hospital price files are huge and inconsistent, so we had to stream, normalize and verify them before trusting any number. We only had verified prices for two hospitals, so the app has to say "no comparison" instead of guessing. Insured patients were the hardest case, because comparing what you owe to a negotiated rate is misleading, so the app asks for the EOB instead.
Accomplishments that we're proud of
Every number traces back to a hospital's own official price file, with source hashes and retrieval dates recorded. The app shows its confidence, declines to compare when it shouldn't, and frames results as a difference to raise, not proof of an error. It works end to end, from a phone scan to the projector screen, with no account and no name.
What we learned
Hospital prices are public but barely usable, and most of the work was cleaning and verifying them. A trustworthy tool has to know when not to answer. Showing honest confidence mattered more than showing a bigger number.
What's next for The Billbuster
We want to add more hospitals and area-wide median benchmarks, which the code supports but we haven't loaded data for yet. We also want to support insured patients with plan data, and read photographed bills with OCR.
Built With
- claude-code
- fastapi
- gemini
- ijson
- mcp
- next.js
- node.js
- playwright
- pytest
- python
- qrcode
- react
- sqlalchemy
- sqlite
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.