Inspiration

When we were brainstorming, Will mentioned an experience he had with medical bills; when he went to get his wisdom teeth removed, the price for anesthesia was unexpectedly high. Will's mom spotted this immediately, compared it to the standard expected price, and talked it over with the oral surgery office, allowing him to save hundreds of dollars. Will's case is not uncommon in the US.

Navigating healthcare billing in the US is notoriously overwhelming, and overpaying for medical care has become an accepted norm rather than the exception. Industry studies consistently estimate that up to 80% of U.S. hospital bills contain errors ranging from duplicate CPT charges and unbundled procedures to simple math discrepancies and unapplied insurance adjustments.

Because itemized bills, EOBs, and Good Faith Estimates are dense and confusing, most people just pay the balance out of stress or exhaustion. We built Sana to level the playing field by giving patients an automated billing auditor that catches overcharges in seconds and helps them push back.

What it does

Multi-Document Ingestion: Users upload their Itemized Hospital Bill alongside supporting documents like an insurance Explanation of Benefits (EOB) or a Good Faith Estimate (GFE) as PDFs or images.

Cross-Document Reconciliation & Auditing: Sana pulls every line item, CPT code, billed amount, insurance adjustment, and patient balance. It compares the documents to catch major billing errors, such as duplicate charges, patient responsibility mismatches between the bill and EOB, Good Faith Estimate overruns that break No Surprises Act rules, and inflated line items.

Evidence-Backed Findings Dashboard: Instead of a vague summary, Sana shows a clear breakdown of total billed versus verified amounts, estimated savings, severity badges, and side-by-side document views so patients can see exactly where the numbers do not match.

Automated Dispute Letter Composer: With a single click, Sana writes a tailored dispute letter based on the specific audit findings. It includes the right regulatory context and can be copied, printed, or sent straight to the provider or insurer.

How we built it

Frontend: Built using Next.js, React, TypeScript, and Tailwind CSS. We put together a clean financial interface with drag-and-drop upload cards, progress indicators, filterable finding cards, side-by-side previews, and a live letter editor.

Backend: Built with Python and FastAPI, built around a strict API contract so our frontend and backend could be developed at the same time without hitting roadblocks.

Hybrid AI + Deterministic Audit Engine: Instead of trusting an LLM to do math, which usually leads to hallucinations, we split the workflow into two steps:

LLM Structured Extraction & Letter Drafting: We use the Groq API to turn messy medical documents into clean JSON schemas and to draft patient-ready dispute letters.

Deterministic Python Audit Rules: Once the data is normalized, our custom code runs exact mathematical and policy checks across the bill, EOB, and GFE to make sure every dollar amount is correct.

Challenges we ran into

Gemini API 503 Errors & Mid-Hackathon Pivot to Groq: We originally built our extraction pipeline around the Google Gemini API. But during peak weekend hours and HackLA happening, the free developer endpoints kept throwing 503 and 429 errors. With time running out, we had to rip out Gemini and rebuild our extraction and letter services on the Groq API.

Beating the 1,000 TPM Rate Limit: Moving to Groq fixed our availability issues, but brought up strict tokens-per-minute limits. Processing a single case with three documents used about 1,300 tokens. We fixed this by setting up an automatic failover system that rotates backup API keys when limits are hit.

Multi-Agent Git Synchronization: Trying to push quick fixes across multiple machines while using AI coding agents caused a few rough merge conflicts, which meant we had to set strict rules for file ownership and Git workflows mid-sprint.

Accomplishments that we're proud of

Zero-Hallucination Financial Math: Keeping AI extraction completely separate from Python auditing so that every dollar of estimated savings is mathematically verified and tied to a real line item.

Resilient Engineering Under Pressure: Switching LLM providers mid-hackathon while keeping our frontend contract intact and passing all our automated tests.

User Experience: Building a smooth experience that takes a user from a raw file upload or demo case to a downloadable dispute letter in under 30 seconds.

What we learned

Production AI Requires Provider Agnosticism & Failovers: Relying on a single LLM endpoint is a huge risk, especially on free tiers. Building modular services and automatic key rotation taught us how to keep AI backends running through real-world outages.

Contract-First Development Accelerates Frontend Design: Locking in our API contract early let us build out loading states, error banners, and evidence drawers without waiting on backend LLM tweaks.

Designing for High-Stress Contexts: Medical debt is stressful. Good typography, clear layouts, and plain-language explanations turn an intimidating problem into an easy checklist.

What's next for Sana

Historical Medicare & Fair-Price Benchmarking: Pulling in the CMS fee schedule so Sana can flag when a hospital charges five to ten times the regional Medicare rate, even if the user doesn't have an EOB.

Direct CPT Upcoding & Unbundling Detection: Adding NCCI coding rules to our audit engine to automatically catch when providers bill separately for services that should be bundled together.

Persistent Patient Vault & Dispute Tracking: Moving from in-memory storage to secure cloud storage so patients can track long insurance appeals, log phone calls, and send letters through fax or mail APIs.

Repo Link: https://github.com/williamyangwastaken/GHH-TeamVibers2026

Built With

Share this project:

Updates

Submission history