SaveSurance
Inspiration
Medical bills are one of the most stressful and least transparent parts of the healthcare system. Patients are often asked to pay quickly even when they do not understand what they were charged for, whether insurance processed the claim correctly, or whether they might qualify for charity care or a cash-pay discount. We built SaveSurance because most people do not need another generic AI chatbot; they need a focused system that can turn a confusing bill into a clear case, a savings strategy, and concrete next steps.
What it does
SaveSurance helps patients understand, challenge, and reduce medical bills. A user signs in, completes a short onboarding flow, uploads a medical bill, and gets an AI-assisted review of the charges. The platform extracts line items, estimates savings opportunities, flags possible billing issues, and then routes the case down the right path depending on whether the patient is insured or self-pay.
For insured users, SaveSurance focuses on insurance-related leverage such as appeal language, billing inconsistencies, and rule-based dispute support. For uninsured or self-pay users, it shifts toward fair-price benchmarking, charity care screening, Medicaid and financial assistance hints, and cash-pay negotiation support. After analysis, the product generates an editable appeal packet with sections like a bill explanation, appeal or negotiation letter, evidence checklist, and call script. It also includes a savings dashboard and a call assistant so users can practice or prepare for the billing conversation instead of going in blind.
How we built it
We built SaveSurance as a full-stack product. The frontend uses React, TypeScript, Vite, and Firebase Authentication for the user experience, onboarding, dashboard, packet editing, and bill-specific workflows. The backend uses FastAPI with PostgreSQL and Redis to manage users, bills, line items, analysis artifacts, packet generation, and streaming status updates.
For AI, we used Gemini for multimodal bill parsing and for generating structured analysis outputs such as explanations, negotiation language, appeal content, and evidence guidance. On the backend, a supervisor routes each case through a dual-path analysis pipeline so insured and uninsured users get different logic and different outputs. We also added a financial-aid engine for deterministic screening, PDF export for the appeal packet, SSE updates for long-running analysis, and a WebSocket-based call assistant with optional speech-to-text and text-to-speech integrations for a more realistic practice workflow.
Challenges we ran into
One major challenge was that medical bills are wildly inconsistent. Even before reasoning about insurance or negotiation, we had to make parsing resilient enough to handle messy documents, uneven formatting, and ambiguous billing language. Another challenge was product design: insured and uninsured users need very different forms of leverage, so a single generic pipeline would have produced weak recommendations.
We also had to balance AI flexibility with reliability. It was not enough to generate good-sounding text; we needed outputs that could be stored, edited, rendered cleanly in the UI, and exported as polished packet sections. On top of that, building a responsive experience meant coordinating upload state, parsing, background analysis, packet generation, and live call interactions across a modern frontend and async backend inside hackathon time constraints.
Accomplishments that we're proud of
We are proud that SaveSurance is not just a concept deck. It is an end-to-end working prototype with authentication, onboarding, persistent bill storage, document parsing, analysis, dashboard views, editable appeal packet generation, and a call-assistant experience.
We are also proud of the dual-path design. Instead of treating every patient the same, SaveSurance adapts to whether the user has insurance or is navigating the system as self-pay. That let us combine insurance dispute support, fair-price benchmarking, financial-aid screening, negotiation prep, and case organization into one coherent workflow.
What we learned
We learned that healthcare billing is not just an AI problem; it is a systems, policy, and trust problem. LLMs are powerful for interpretation and drafting, but users need deterministic structure around them: path routing, benchmark logic, financial-aid rules, persistence, and editable outputs they can actually use.
We also learned that good UX matters as much as model quality. In a stressful domain like medical debt, users need clarity, progress feedback, and artifacts they can act on immediately. The most valuable product pattern was not “ask AI anything”; it was translating a messy bill into a concrete action plan.
What's next for SaveSurance
Next, we want to deepen the real-world usefulness of the platform. That includes expanding benchmark coverage and state-specific rule support, improving provider and charity-care matching, and strengthening cross-document workflows for bills plus EOBs. We also want to push the call assistant further with more production-ready live calling and better negotiation memory across sessions.
On the product side, we want to improve multilingual support, smarter notification and follow-up flows, and stronger outcome tracking so SaveSurance can learn from which appeals, negotiations, and aid applications actually reduce bills over time. The long-term goal is to turn SaveSurance into a true patient financial defense layer for healthcare.
Built With
- deepgram
- docker
- elevenlabs
- fastapi
- firebase-authentication
- google-gemini
- nginx
- postgresql
- python
- react
- redis
- sqlalchemy
- tailwind-css
- typescript
- vite
Log in or sign up for Devpost to join the conversation.