Vitae: health records,
finally understood.
An AI-powered PWA built to turn a blurry prescription photo into a plain-language family health record, without creating an account. Built for family caregivers who manage a parent’s health from another city.
The short
version.
At a glance
| Role | Team of six with shared ownership. All six of us owned every part of the work. |
| When | April 6 to 15, 2026, at the Rethink AI-First Buildathon. Ten days from idea to live product. The team placed 3rd. |
| What shipped | A PWA that turns a prescription photo into a plain-language family health record, with no signup for the core feature. |
| Result | Live product. The success metrics on this page are targets, not measured results. |
| Limit | No usage figures and no OCR accuracy measurement yet. |
| See it | Live product ↗ GitHub ↗ |
This page is the build record for Vitae. It covers the health-records continuity problem, the two-model AI pipeline, the PWA architecture, and the honest state of what shipped in the 10-day sprint versus what comes next.
Project overview
OverviewVitae was built during the Rethink AI-First Buildathon (April 6–15, 2026) by a 6-person team, and won 3rd place. The product is live at vitaehealth.vercel.app. No signup is needed to try the core feature.
Built by
Gaurav Gupta · Shardul Ayare · Preeti Singh · Varun Malani · Aashik Villa · Palak Punjabi.
Shared ownership. All six of us owned every part of the work, from discovery and the PRD to design and build. It is a team result. I do not claim any one layer of it as mine alone.
Built for doctors.
Not for families.
01 · Problem
The problem we chose was continuity, not access. Family health records can be fragmented across reports, prescriptions and messages. Vitae explored a shared record and explanation workflow for that problem.
The four breakdowns families face
Illegible handwriting
Doctor handwriting is notoriously difficult, even pharmacists struggle. Families receiving WhatsApp prescription photos have no way to decode them.
Impenetrable jargon
“Atorvastatin 10mg OD HS” means nothing to a non-medical family member. No plain-language translation exists in the current workflow.
Scattered across platforms
Paper slips, hospital portals, WhatsApp photos, camera rolls, no single source of truth. A family seeing several specialists keeps their records across disconnected channels.
Broken continuity of care
Prescriptions get lost between visits. Tests get repeated. Families lose track of active medications across multiple specialists.
Not abstract. This is every
family’s Sunday evening.
02 · Context
“I can’t read the doctor’s handwriting. I don’t know what Atorvastatin does. And I have no way to share a clean summary with Papa’s next doctor.”
Priya, 28, Bangalore (persona). Her father in Jaipur sees three specialists for diabetes, blood pressure, and cholesterol. After every visit, Papa sends a blurry photo of a handwritten prescription via WhatsApp.
Three people.
One health ecosystem.
03 · Users
Priya, 28: Primary User
Young adult caregiver. Manages parents’ health remotely. Tech-savvy but not medically trained. Panics when Papa sends a new prescription on WhatsApp.
Papa, 60: Benefits Indirectly
3 specialists. Multiple medications. No digital health record. Gets organised medication summaries without needing to be tech-savvy himself.
Dr. Sharma: Future User
Could receive a structured patient summary instead of crumpled paper, with the medication history in one place.
Most health-tech we looked at focuses on patients or providers. Vitae focuses on the family members who coordinate care between them.
Confused to clear,
in one flow.
04 · Solution
Vitae is built to turn a blurry prescription photo into a plain-language family health record, without creating an account. Under a minute is the design goal, not a measured result.
Upload
Photo, PDF, or text. Camera, gallery, or WhatsApp screenshot. Any format works.
Understand
AI explains each medication, what it treats, how to take it, side effects to watch for.
Organise
Save to a family health hub. Track active medications. Spot lab-result alerts. Share with family or the next doctor.
Zero friction
to full value.
05 · User Flow
Auth is deferred until save. The full explanation is delivered before asking for a single user detail.
| # | Stage | What happens | Design principle |
|---|---|---|---|
| 1 | Discovery | Landing page. “Upload a Prescription” CTA. No login prompt. | Value-first, no friction |
| 2 | Upload | Camera, PDF, gallery, or manual text. WhatsApp tip shown. | Camera leads, most prescriptions arrive as WhatsApp photos |
| 3 | OCR | Gemma 4 26B multimodal extracts fields with confidence scores. | A clear loading state while OCR runs builds trust |
| 4 | Review | User confirms or corrects extracted data. Per-field confidence shown. | Always shown regardless of OCR confidence |
| 5 | Explanation | Claude explains every medication. “Ask your doctor” list generated. | Plain language; 4 dimensions per medication |
| 6 | Save & Hub | Auth gate triggers. Save to family profile. Active medications tracked. | Value delivered before asking for any commitment |
Example AI explanation output
Illustrative example of the explanation format. Not medical advice.
Metformin 500mg · Twice daily
Treats: Type 2 diabetes, helps lower blood sugar after meals
How to take: With meals, morning and night
Side effects: Nausea (common, usually fades in 1–2 weeks)
Avoid: Alcohol, heavy carbohydrate meals in one sitting
Atorvastatin 10mg · Once at night
Treats: High cholesterol, reduces LDL (“bad”) cholesterol
How to take: At bedtime with water
Side effects: Muscle aches (rare, report immediately if severe)
Avoid: Grapefruit juice (interferes with absorption)
Two pipelines.
One seamless flow.
06 · AI
Pipeline 1: OCR extraction
Model: Gemma 4 26B via OpenRouter (256K context, multimodal).
Reads the prescription image directly. Extracts doctor name, date, medication names, dosage, frequency, and duration. Assigns a confidence level (high / low) per field. The same pipeline handles lab reports, extracting test values, units, reference ranges, and flagging abnormals.
Pipeline 2: Plain-language explanation
Model: Claude (Anthropic).
Takes the structured prescription data and generates a 4-dimension explanation per medication: Treats · How to take · Side effects · Things to avoid. Generates a “Things to tell your doctor” actionable list. The explanation is cached in the DB, never re-generated on repeat visits.
A working stack,
shipped in 10 days.
07 · Tech
| Layer | Technology | Details |
|---|---|---|
| Frontend | Next.js 16.2 · React 19 · TypeScript | App Router, Server Components, Server Actions, Tailwind CSS v4, PWA with service worker. |
| Backend / Database | Supabase · PostgreSQL · RLS | Row-level security on every table. Email + Google OAuth. Supabase Storage for prescription files. |
| OCR Engine | Gemma 4 26B · OpenRouter | Multimodal, reads handwritten prescriptions from images. 256K context. Confidence scoring per field. |
| AI Explanation | Claude (Anthropic) | Structured prescription data → plain-language explanation per medication. 429 fallback across a free model pool. |
| Hosting | Vercel | Auto-deploy from master branch. Live at vitaehealth.vercel.app. |
How we’ll know
it worked.
08 · Success Targets
Every number in this section is a target set before launch. None of them is a measured result.
Acquisition
Engagement
Virality
Quality
MVP shipped.
What comes next.
09 · Roadmap
Now: Post-Buildathon
- Shareable read-only links (WhatsApp virality loop)
- Profile editing (name, DOB, photo, onboarding flow)
- Doctor PDF export (structured summary for next visit)
Next: Growth
- Medication reminders (push notifications at medication times)
- Hindi + regional language explanations
- Lab trends over time (glucose, cholesterol, BP charted across uploads)
Later: Monetise
- Drug interaction checker (flag dangerous combinations across family medications)
- Vitae Pro (unlimited profiles, reminders, pharmacy integration)
- Pharmacy delivery bridge (one-tap order from prescription)
The viral loop
Caregiver shares a prescription link via WhatsApp → recipient (doctor, family, pharmacist) sees a clean prescription summary → “Try Vitae for your own family” acquisition hook in every shared link → new caregiver joins → uploads → shares → loop repeats.
Every WhatsApp share is a potential new user. The loop is a hypothesis, not a measured result.