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
Share this project:

Updates

Submission history