Meridian — Symptom-to-Specialist Care Routing
Build with AI Hack Days @EMK Submission
Built for the Gemini API Track
"Know where to go, before it becomes urgent."
Meridian routes patients in plain language to the right medical specialist and urgency level. It routes; it never diagnoses.
💡 Inspiration
Every year, millions of people experience confusing, distressing physical or emotional symptoms and ask themselves the same overwhelming question: "Where do I even go for this?"
For non-English-speaking patients, immigrant families, and global communities, this anxiety is multiplied tenfold when attempting to navigate complex, unfamiliar healthcare systems.
Patients typically face a lose-lose dilemma:
- Under-reacting: Delaying care for critical time-sensitive conditions (e.g., mistaking acute chest pressure or subtle neurological deficits for fatigue).
- Over-reacting or Panic-Searching: Googling symptoms, spiraling into medical anxiety, or crowding emergency rooms for routine conditions.
Most existing online symptom checkers attempt to play doctor by spitting out alarming differential diagnoses ("You might have disease X"). This creates severe medical liability, patient panic, and dangerous misinformation.
We built Meridian around a fundamentally different, safety-first principle: Route, Never Diagnose. Meridian doesn’t attempt to diagnose medical conditions — it directs you to the right medical specialist, how urgently you should seek care, and actionable next steps to take — in the patient's native language. Google Antigravity and Gemini API were utilized in building Meridian.
🩺 What It Does
Meridian is an intelligent, multilingual care-navigation platform that analyzes plain-language symptom descriptions (via text or browser-native voice dictation) and returns structured, actionable guidance:
- 🌍 Native Multi-Language Accessibility (12 Global Languages): Complete UI, urgency ratings, and actionable guidance localized across English, Spanish (Español), Chinese (中文), French (Français), Arabic (العربية with native RTL layout), Hindi (हिन्दी), Vietnamese (Tiếng Việt), Tagalog, Korean (한국어), Portuguese (Português), Japanese (日本語), and Swahili (Kiswahili).
- 🎙️ Locale-Aware Voice Dictation: Dynamically adapts speech recognition to the patient's native tongue for frictionless voice input.
- Recommended Medical Specialist: Identifies the appropriate care discipline (e.g., Emergency Department, Neurologist, Ophthalmologist, Orthopedist, Dermatologist, Gastroenterologist, or Primary Care Provider) translated into the patient's language.
- 4-Tier Clinical Urgency Rating:
- 🚨 Emergency: Immediate evaluation needed for potential life-threats.
- ⏳ Soon (Within 24–48 Hours): Time-sensitive subacute symptoms.
- 📅 Routine: Standard scheduled outpatient specialist visit.
- 🏠 Monitor: Mild, self-limiting symptoms suitable for home care.
- Emergency Override & Crisis Support: Pinned high-visibility alerts with direct, 1-click routing to the 988 Suicide & Crisis Lifeline (call/text 24/7) and 911 for acute emergencies.
- Actionable Next Steps Checklist: 3-point checklist tailored to the assigned urgency level.
- Tailored Questions for Your Clinician: AI-generated list of specific questions in the patient's language to ask the doctor during their visit.
- Explainability Accordion ("How Meridian Decided"): Transparently breaks down matched indicators, clinical urgency criteria, and the deterministic safety model.
- Local Specialist Locator: 1-click Google Maps search pre-filled for recommended specialists nearby.
- Session History & Export: Stores recent checks locally in
localStorage, allows 1-click clinical summary copying to clipboard, and includes@media printPDF support. - Theme Switcher: Dark Obsidian Glass and Clean Clinical Light modes.
⚙️ How We Built It
- Frontend Framework: Built with React 18 and Vite for fast client-side performance and rapid iteration.
- Styling & Design System: Custom Tailwind CSS with glassmorphism, responsive layouts, Google Fonts (Space Grotesk and Inter), Lucide icons, and heartbeat divider animations.
- AI Intelligence Layer: Powered by Google Gemini 3.6 Flash via the Generative Language REST API. Configured with strict system prompts and structured JSON schemas to extract clinical factors, select specialists, evaluate urgency, and generate clinician questions directly in the patient's selected language.
- Multi-Lingual Engine & i18n Architecture: Comprehensive localization suite with native scripts, RTL layout flipping, and locale-aware Web Speech API integration.
- Deterministic Fail-Safe Engine: A client-side rule engine spanning 17 clinical clusters with multi-phrase weighted scoring and urgency tie-breaking.
- Client-Side Storage: Native Web Speech Recognition API for voice dictation and
localStoragefor private, persistent session history.
🛡️ Architecture & The Model Story: Why Gemini 3.6 Flash
A key engineering principle guided our hackathon journey: Live Hackathon Resilience.
The Bleeding-Edge vs. Production Stability Challenge
During our initial testing with bleeding-edge releases like Gemini 3.7 Flash, we observed that newly released experimental endpoints can suffer from global demand surges and intermittent 503 Service Unavailable (Capacity Spike) errors during heavy traffic windows.
For a mission-critical health navigation tool presented to live judges, intermittent downtime is unacceptable. We made the deliberate architectural decision to standardize on Gemini 3.6 Flash as our production constant:
- Sub-Second Latency: Ultra-fast TTFT (Time To First Token) ensures immediate response times.
- High-Precision Reasoning: Flawlessly adheres to strict JSON schemas without diagnostic hallucination.
- Guaranteed Throughput: Rock-solid availability under continuous evaluation.
Zero-Failure Hybrid Architecture
To ensure Meridian cannot fail under any circumstance (e.g., poor Wi-Fi, rate limits, or missing keys):
- If the Gemini API call succeeds $\rightarrow$ rich AI-generated triage + customized doctor questions in the patient's language.
- If the API encounters a timeout or network interruption $\rightarrow$ Meridian silently and instantaneously falls back to its deterministic rule engine.
🧗 Challenges We Ran Into
- Model Selection & Availability (The Gemini 3.6 Flash Decision):
When testing bleeding-edge models like Gemini 3.7 Flash, we observed that newly released experimental endpoints frequently experience global demand surges and intermittent503 Capacity Spikeerrors. For a mission-critical health triage tool presented live to judges, unpredictable downtime is unacceptable. We made the deliberate engineering decision to standardize on Gemini 3.6 Flash as our primary constant — delivering sub-second latency, zero capacity drops, and consistent JSON formatting. - Medical Safety Guardrails Across Multiple Languages:
Preventing language models from generating definitive disease diagnoses while translating complex medical concepts into 12 diverse languages required rigorous prompt constraints enforcing care routing rather than clinical diagnosis. - Designing a Fail-Safe Hybrid Architecture:
Ensuring that if a user is offline, on poor Wi-Fi, or encounters an API rate limit, the application silently and instantaneously falls back to the client-side deterministic rule engine without breaking the UI.
🏆 Accomplishments That We're Proud Of
- Global Healthcare Equity: Expanding access to 12 major world languages with full UI translations, speech-to-text voice recognition, and RTL layout support.
- Zero-Failure Architecture: A resilient hybrid system where external API latency or network drops never break the user experience.
- Explainable Care Navigation: Transparently exposing matched symptom indicators and clinical definitions rather than operating as an opaque black box.
- Comprehensive Feature Set: Completed voice dictation, local maps integration, clinical clipboard exports, PDF print support, emergency overrides, and theme switching in a polished UI.
- Production Performance: Clean production build with zero errors, loading sub-second bundles with zero backend dependencies.
📚 What We Learned
- Clinical Prompt Engineering & Localization: How to extract high-value clinical context from unstructured natural language and output precise medical specialist guidance in multiple languages.
- Hybrid System Resilience: The reliability advantages of pairing non-deterministic LLMs for language parsing with deterministic rule engines for mission-critical safety.
- Accessible Health UX: How subtle micro-interactions (pulse dividers, urgency-themed badge glows, clear voice feedback) reduce anxiety when users report health concerns.
🔮 What's Next for Meridian
- EHR & Patient Portal Integration: Exporting care summaries directly into FHIR-compliant patient portals (e.g. MyChart) ahead of scheduled appointments.
- In-Network Insurance Verification: Linking specialist suggestions with real-time insurance provider directories.
- Wearable Telemetry Context: Ingesting passive biometrics (resting heart rate, SpO2 trends, temperature spikes) to provide objective physiological context to symptom reports.
- Clinical Chat Assistant: Adding interactive follow-up clarifying questions to refine care recommendations dynamically.
Built With
- css3
- gemini-3.6-flash
- gemini-api
- html5
- javascript
- localstorage
- lucide-react
- react
- tailwindcss
- vite
- web-speech-api
Log in or sign up for Devpost to join the conversation.