Inspiration

Alexa+ came to India on 16 September 2026, speaking Hindi, English and Hinglish, but with no health partner. In most Indian homes, booking a doctor is still a phone call made by the one person who knows which doctor, which clinic and when everyone is free. Grandparents who cannot use apps depend on someone else. India has already built an open network for exactly this, UHI (Unified Health Interface, part of the Ayushman Bharat Digital Mission), but no voice assistant speaks it. DocSaathi ("doctor companion") connects the two.

What it does

A family member just says it in their own words: "Alexa, Aarav ko bukhaar hai, aaj shaam paas mein bachchon ka doctor chahiye" (Aarav has a fever; we need a child doctor nearby this evening).

  • Understands everyday words ("bachchon ka doctor", "sugar wale doctor", "Dadi", "kal subah") and picks the right kind of doctor. It never diagnoses and never suggests medicines.
  • Searches clinics on the UHI network and shows the nearest doctors on the Echo Show: free times, fees, travel time and a map.
  • Nothing is booked without a yes. It holds a time, asks "Shall I book it?", then books it, gives a leave-by time and messages another family member. The clinic's desk accepts or declines, and Alexa tells the family by herself.
  • Remembers the family: each person's usual doctor, follow-ups ("come back in 3 months"), and who is talking. It asks "Who am I speaking with?" instead of guessing.
  • Emergencies are never booked. Words like "seene mein dard" (chest pain), "behosh" (fainted) or "daura" (fit) get "Call 112, or 108 for an ambulance" and the nearest real hospitals. Self-harm gets the Tele-MANAS helpline (14416).
  • A menu and a family health record: every doctor each person saw and every medicine the doctors wrote (with days left), ready to share with the next doctor on WhatsApp; the nearest chemist, lab and Jan Aushadhi shop (cheaper generic medicines).
  • Answers in English or Hindi, in Amazon Polly's Kajal voice.

How we built it

  • A self-hosted MCP server (TypeScript, MCP SDK v2) over Streamable HTTP, speaking spec 2025-11-25 (what Alexa+ supports) and 2026-07-28 on the same endpoint, with 15 tools.
  • An MCP Apps screen for Echo Show: doctor cards, free times, the confirm card, the booking, reminders, the emergency card and map pictures (through an app-only tool), in a double-iframe sandbox.
  • OAuth 2.1 account linking built to Amazon's Alexa+ authentication docs: protected resource metadata, PKCE (S256), a service token that can list tools but gets a 401 on tool calls (Alexa's cue to link), rotated refresh tokens and revocation. The family signs in with their mobile number and PIN.
  • UHI protocol: signed search, select, init, confirm and status messages (ed25519 over a BLAKE2b-512 digest) to a local UHI test network of 39 test doctors in 16 clinics. The protocol is real; the clinics are test data and are marked TEST everywhere.
  • The brain: an AI model on Amazon Bedrock (openai.gpt-oss-120b through Bedrock's OpenAI-compatible endpoint; Claude is built in but Amazon says it is "not available for this account"), with Groq and an offline rule brain as fallbacks. The safety rules live in our code, not in the model: emergency words, yes-before-booking, never naming a medicine.
  • The voice: Amazon Polly's Kajal voice (Hindi and Indian English); Chrome's speech recognition listens.
  • Real places and travel times from Google Maps.
  • An Echo Show simulator web page as the Alexa+ host (the Alexa+ developer tools are invite-only, so Alexa+ is simulated, as the rules allow).
  • Quality: 80 unit tests, end-to-end MCP tests, 47 account-linking checks, headless Chrome checks of every screen, and an accuracy test of 103 family sentences.
  • Built by Suraj Mishra, with Claude Code as an AI coding assistant.

Challenges we ran into

  • Amazon's Alexa+ authentication pages contradict each other in four places, so we supported every reading and wrote it up in our friction log.
  • There is no public Alexa+ sandbox, so we built our own Echo Show simulator as an MCP Apps host.
  • On deadline night Amazon Bedrock said Claude is "not available for this account" and the Kajal voice is not offered in Mumbai. We moved to us-east-1 and ran openai.gpt-oss-120b through Bedrock's OpenAI-compatible endpoint with the same IAM key.
  • Hindi is hard: our accuracy test found missed emergencies (for example "सीने में तेज़ दर्द", sharp chest pain) and a bug where "कल" (tomorrow) was replaced inside the word "तकलीफ" (trouble). Both are fixed and tested.
  • The AI asked questions it did not need ("When would you like the appointment?"). Fixing its instructions took it from 20 to 33 out of 33 on new sentences.

Accomplishments that we're proud of

  • Alexa+ booking doctors for a whole Indian family, in Hindi, with safety written in code.
  • Accuracy: 98 of 103 family sentences with the offline rule brain; 33 of 33 new sentences with the AI brain on Groq, and 29 of 33 on Amazon Bedrock (every emergency, booking step and "who is it for" right).
  • Account linking that passes 47 Alexa+-style checks, with tool calls of about 20 ms (Alexa+ allows 500 ms).

What we learned

  • Measure instead of guessing: the accuracy test found real safety bugs that demos never showed.
  • For a family device, asking the right question ("Who am I speaking with?") matters more than any clever answer.
  • MCP Apps make voice and screen one design.

What's next

Real clinics on UHI through the national sandbox, a real Echo Show the day the Alexa+ toolkit opens in India, more Indian languages (Marathi, Tamil, Bengali), Ayushman Bharat cover checks for people over 70, and a phone-call line for homes without an Echo.

About the demo video

Recorded from the working app. Alexa+ is simulated in our web page, and clinics on the UHI test network are test data. The narration is an AI voice (Microsoft neural text-to-speech). The video was recorded before Amazon Bedrock and Polly were switched on; the app now runs on them.

Built With

Share this project:

Updates

Submission history