Inspiration
Doctor visits are short, and a big part of each one goes to basic questions: what's wrong, how long it's been going on, which medications you take, what you're allergic to. Across the Caribbean, where there aren't enough doctors and patients often travel far to see one, that lost time adds up fast. Patients also forget details when they're nervous, and filling in forms isn't easy for everyone. We wanted the visit to begin with the doctor already knowing the patient's story.
What it does
ReadyVisit prepares a medical visit before it starts.
- Patients have a short voice conversation with an AI intake assistant and describe their symptoms in their own words. Afterward they can check and correct their answers.
- The AI reads the transcript, the corrected answers and the medical history on file. From them it drafts a case for the doctor: a clinical summary, a ranked list of possible diagnoses with the evidence for each, suggested lab tests and a first-line prescription.
- Doctors review, edit and approve the draft. Nothing reaches the patient without their sign-off. If a prescription clashes with one of the patient's recorded allergies, the app blocks it in code rather than relying on the AI to catch it.
- Patients then find their approved prescriptions and lab orders in their portal.
AI preps, doctors decide.
How we built it
- Next.js 16 with React 19 for the patient and doctor portals, with API Route Handlers for the backend
- ElevenLabs conversational AI for the voice intake calls; a webhook delivers the transcript to the doctor as soon as the call ends
- Claude via the Anthropic SDK for the case drafts, with the output checked against a Zod schema so the doctor's screen always gets predictable data
- Prisma on Supabase PostgreSQL for patients, intake sessions, cases and prescriptions
- StyleX for a shared set of design tokens across both portals
- Feature-by-feature pull requests with integration tests on the intake flow
Challenges we ran into
- Making the AI useful without letting it take over. We had to keep it inside clear limits: only use what the patient actually said, never invent exam findings, leave out what wasn't asked, and leave every decision to the doctor.
- Handling messy speech. Voice calls ramble. Patients correct themselves and miss questions, so we added a review step where they can fix their answers, and the AI treats those corrections as more reliable than the transcript.
- Getting the timing right. The intake has to reach the doctor's queue the moment the transcript arrives.
Accomplishments that we're proud of
- A full working flow, from voice call to AI draft to doctor approval to care in the patient portal, built on real data rather than mockups
- A design where the doctor stays in charge and every AI suggestion can be edited
- A clean, calm interface for patients who may be unwell or anxious
What we learned
- In healthcare, the AI's job is to prepare information. Decisions stay with the doctor.
- Structured output turns a language model into a dependable part of the system.
- Voice makes the app more accessible, especially for older patients and people who find typing on a phone hard.
- Splitting the work into small, separate pieces let our team build in parallel without stepping on each other.
What's next for ReadyVisit
- Intake in more languages and Caribbean Creoles
- Pilots with clinics and telehealth providers in the region
- Connections to pharmacies and labs so approved orders are sent automatically
- Follow-up check-ins after the visit
- Formal clinical validation and privacy compliance before real patient use
Built With
- elevenlabs
- postgresql
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.