Inspiration
I have a family member who's had part of of his digestive system taken out, but what we didn't know is that affects one's ability to properly digest pills, and neither did his doctor or pharmacist.
It turns out this is common. In a 2025 study, over 60% of ostomy patients said nobody had told them medicine can pass through undissolved. A 2021 review found that 29 of 37 drugs studied were absorbed less after this kind of surgery.
What it does
Villi is for people living with short bowel syndrome or an ostomy, and the family members who handle their meds. You scan a pill bottle, take a photo, or type a name. Villi checks it against the FDA label, the clinical guidelines, and what people with the same anatomy have reported, then tells you what might be a problem for your body specifically.
It never says something is “safe,” and it never tells you what to do. Every answer ends with one question to bring to your pharmacist. You can also review your whole medication list at once and print it as a one-page request for the pharmacist, who can record what they changed through a private link.
How we built it
Claude runs the core of it. A Sonnet agent looks up the label, the guidelines and the community data, and drafts an answer where every claim has a source. Before you see anything, my code checks every citation and blocks any dose or instruction. Then Opus reads the draft against its sources a second time. If either one fails, the answer isn’t shown.
I built it with Claude Code on Next.js and Convex, and used Claude to build a drug table from about 800 FDA labels, with each fact backed by a quote from the label itself.
How we’ll know it’s working
Every time Villi flags something, it asks: “Did you know this already?” That measures the actual problem. The app also tracks whether the question reached a pharmacist and whether anything changed. Our goal for a pilot: half of flags are news to people, and 15% of the questions people ask lead to a change in their care.
Challenges
The hardest part was making it helpful without deciding for anyone. In early testing, when someone asked “can I crush it?”, it would answer “No, please don’t.” That sounds responsible, but it’s still a medical decision. After rewriting the prompts and testing on 377 cases, it stopped doing that completely. On 100 cases it had never seen, it didn’t make a decision for anyone once.
What we learned
Being careful and being useful aren’t opposites. Showing your sources and saying “ask your pharmacist this” turns out to be more useful than a confident answer.
What’s next
Getting a clinician to review the guideline summaries (right now only Claude has checked them), and running a small pilot with a clinic’s pharmacists.
Try it at villi.health. Villi is not medical advice.
Built With
- anthropic
- claude
- claude-code
- convex
- next.js
- openfda
- react
- tailwindcss
- typescript
- vercel
- voyage-ai

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