Inspiration
In 2024, insurers denied 1 in 5 in-network claims on ACA marketplace plans. 82% of those denials get overturned when patients appeal but only 0.2% of patients ever do.
The reason is that the process is designed to be exhausting. People get a letter full of policy numbers and billing codes, a tight deadline, and no explanation of what it actually means or what you can do about it. Most people assume the decision is final and move on.
The information needed to fight a denial is all public though and insurers publish their own coverage criteria, CMS publishes clinical guidelines, states have passed laws restricting automated denials. The problem is nobody has assembled it into something a normal person can use.
What It Does
Vinci takes a denial letter, reads it, and checks whether the stated reason holds up against the insurer's own written policies. It then shows you the financial cost of doing nothing, your state-specific appeal rights and deadlines, and generates a complete appeal letter grounded in the insurer's own rules and published medical evidence.
How We Built It
We used Gemini for document extraction, coverage reasoning, and letter generation. Snowflake stores 4.9 million NCCI procedure code rules, 941 Local Coverage Determinations, 357 National Coverage Determinations, and appeal regulations for all 50 states. MongoDB Atlas handles semantic search over policy documents using Gemini's text-embedding-004 embeddings. ElevenLabs reads the finished letter aloud for accessibility.
Challenges We Ran Into
CMS procedure code data comes as fixed-width text files across eight ZIP archives behind a license wall. Parsing and loading 4.9 million rows was the hardest technical problem we hit. We also lost time mid-build when Gemini deprecated the model we were using, which broke every API call at once. Insurer policy documents have no public API so we scraped them directly.
Accomplishments We're Proud Of
Getting the full pipeline working end-to-end in 24 hours from uploading a denial letter to a complete, addressed appeal letter with medical citations. The data layer alone (Snowflake + MongoDB vector search over 1,300 CMS policy documents) would normally take weeks to build properly. We also built six realistic test denial letters across different insurers, states, and denial types to stress-test the system.
What We Learned
The appeals process is designed to be hard and every patient who gives up is revenue the insurer keeps. But the underlying software problem is actually straightforward: the data exists, it's public, it just hasn't been assembled in one place. That's what Vinci does.
What's Next for Vinci
Expanding insurer policy coverage beyond Aetna to Cigna, UnitedHealthcare, Anthem, and Humana. Adding ERISA detection, since employer-sponsored plans fall under federal law and have a completely different appeal ladder. Building a physician co-sign flow so the treating doctor can easily add their letter to the appeal. Getting it in front of patient advocacy organizations would be good as well.
Built With
- capital-one-nessie-api
- elevenlabs
- fastapi
- framer-motion
- gemini
- goodrx
- google-document-ai
- mongodb-atlas
- next.js
- openfda
- pubmed-e-utilities
- python
- snowflake
- tailwind-css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.