← Projects

AI Medical Interpreter (Mita)

Real-time speech-to-speech interpreter between a doctor and a Bangla-speaking patient. Clinical terms are preserved exactly; doubtful output is flagged, never hidden.

2026SoloJavaScriptFastAPIWeb Speech APIGeminiNLLB-200
AI Medical Interpreter (Mita) screenshot

A bedside interpreter that removes the language barrier between a clinician and a patient without waiting for a human interpreter. You speak or type in English or Bangla and get the meaning in the other language almost immediately, as both text and speech. Built as the CSE309 Software Engineering project at IUB. It started as a two-person project; the system as it stands is my work.

The Mita welcome panel: choose who is speaking and in which language

A session starts by setting who is speaking and in which language. Either role can be swapped at any time.

What it does

  • Speak or type. Voice and typing are equal paths, not a primary and a fallback. Speech recognition uses the browser's Web Speech API; output uses the browser's voices with a server-side fallback for machines that lack a Bangla voice.
  • Preserves clinical detail. Drug names, dosages, numbers and units must appear unchanged in the output. Napa 500mg comes out as Napa 500mg.
  • Flags doubt. The backend checks that a translation is actually in the target script and marks it needs_review when it is not. The UI surfaces this as a warning with a retry.
  • Stores nothing. No audio is kept, no transcript is persisted on the server. The session transcript lives on the device and clears on refresh.
  • Local demo build adds a medication-safety check, a medical-specialty suggestion the clinician confirms before it is used, and a consultation summary exported as a prescription.

The interpreter console with a translated turn, medical-domain panel and medications list

The console. A doctor speaks an English sentence with a drug and dosage; Mita renders it in Bangla with Napa 500mg untouched, marks it verified, and suggests Pulmonology as the likely specialty for the clinician to confirm.

Medication verification panel

Medications mentioned in the conversation are extracted and shown for verification before they count toward the summary or prescription export.

Architecture

A browser frontend and a FastAPI backend. The backend never translates directly; it delegates to a TranslationProvider protocol, and routers never learn which engine is behind it. Adding an engine is one new file plus one line in the registry. That seam is what let Torongo, a fine-tuned NLLB-200 model hosted as a separate inference service, drop in beside the Gemini and Google Cloud providers with no router, model or frontend change.

The deployed build runs the frontend on Vercel and the backend on Render with the cloud engine. It does not diagnose anything and keeps no long-term record of consultations. It translates only.