🧩 Inspiration

Imagine feeling sick in a country where you barely speak the language, unsure where to go, who to trust, or how much it will cost. Millions face this confusion every day, students, tourists, immigrants, and underserved communities alike, delaying care or going without it entirely. We realized the problem isn’t just language or cost, it’s that healthcare itself is unnecessarily complicated, leaving people overwhelmed when they need help most. We knew there had to be a better way. Severity was built to act like a personal health navigator, simplifying medical guidance, translating conversations, and connecting users to care quickly, affordably, and in a way anyone can understand.

⚙️ What It Does

Severity is a real-time multi-agent AI system that helps users understand symptoms, find appropriate care, navigate provider options, and book appointments—all in their preferred language.

The platform centers around a chat-based interface where users describe symptoms naturally (text or voice). Behind the scenes, a coordinated system of specialized AI agents processes each request:

  • Language Agent — Detects and translates the user's language, normalizing symptom descriptions into clear English while preserving clinical meaning
  • Triage Agent — Analyzes symptoms using pattern matching and LLM reasoning, classifying urgency into four levels: self-care, non-urgent, urgent, and critical
  • Emergency Agent — Detects life-threatening conditions and immediately surfaces first-aid guidance and emergency protocols
  • Navigation Agent — Finds nearby hospitals and clinics via Google Places API, filtered by risk level, distance, and hours
  • Cost Agent — Provides transparent cost estimates to help users understand the financial implications of their care options
  • Contact Agent — Generates concise clinical summaries for provider handoff and downstream scheduling workflows
  • Call Scheduling Agent — Places real outbound phone calls to clinics via Vapi, negotiates appointment time slots with the receptionist, and returns a confirmed booking — enabling patients with language barriers or communication challenges to access care without friction

Orchestration Flow

User Input (Text/Voice)
    ↓
Language Agent (Detect & Normalize)
    ↓
Triage Agent (Analyze Symptoms & Risk)
    ↓
Emergency Agent (Critical Detection)
    ↓
Navigation Agent (Find Nearby Care)
    ↓
Cost Agent (Estimate Expenses)
    ↓
Contact Agent (Prepare Provider Summary)
    ↓
Call Scheduling Agent (Book Appointment)
    ↓
Response (Guidance, Care Options, Next Steps)

Key Features

Real-time Multi-Agent Coordination - Agents communicate via A2A (Agent-to-Agent) protocol
Emergency Detection - Automatic identification of life-threatening conditions
Multi-language Support - Translates symptoms while preserving clinical accuracy
Appointment Scheduling - Automatic phone calls to book appointments on behalf of users
Cost Transparency - Shows estimated expenses across available care options
Care Navigation - Maps nearby hospitals/clinics filtered by urgency level
Session Persistence - Maintains conversation history and patient state
Agent Tracing - Logs full execution trace for frontend visualization

🛠️ How We Built It

Tech Stack

Backend:

  • FastAPI (Python) - Lightweight, fast API framework with automatic OpenAPI docs
  • Google ADK (Agent Development Kit) - Framework for structured agent orchestration
  • Gemini LLM - AI reasoning for symptom analysis, language normalization, and cost estimation
  • Google Places API - Hospital/clinic discovery and location services
  • Vapi - AI-powered phone calling for appointment scheduling
  • Pydantic v2 - Type-safe data validation and schema management
  • Firebase Admin SDK - User authentication and session persistence

Frontend:

  • Next.js 15 (React 19) - Server-side rendering and modern UI framework
  • React Flow - Agent execution visualization
  • Firebase Client SDK - Authentication and real-time features

Architecture

┌─────────────────────────────────┐
│   Frontend (Next.js/React)      │
│  Chat Interface + Care Map      │
│  Agent Flow Visualization       │
└────────────┬────────────────────┘
             │
      POST /analyze
      POST /chat
      POST /appointment/schedule
             │
┌────────────▼────────────────────┐
│   Backend (FastAPI)             │
│  Orchestrator                   │
│  Session Management             │
│  Route Requests → Agents        │
└────────────┬────────────────────┘
             │
   ┌─────────┼─────────┬────────────┬────────────┬──────────┐
   │         │         │            │            │          │
   ▼         ▼         ▼            ▼            ▼          ▼
┌──────┐ ┌──────┐ ┌────────┐ ┌──────────┐ ┌─────────┐ ┌─────────┐
│Lang  │ │Triage│ │Emerg   │ │Navi      │ │Cost     │ │Contact  │
│Agent │ │Agent │ │Agent   │ │Agent     │ │Agent    │ │Agent    │
└──────┘ └──────┘ └────────┘ └──────────┘ └─────────┘ └─────────┘
   │         │         │            │            │          │
   │         │         │    ┌───────┴────────────┼──────────┴─┐
   │         │         │    │                    │            │
   ▼         ▼         ▼    ▼                    ▼            ▼
┌──────────────────────────────────────────────────────────────┐
│            Shared State: AgentMessage                        │
│  - Raw/normalized text                                       │
│  - Detected language & risk level                            │
│  - Hospitals list                                            │
│  - Cost options                                              │
│  - Emergency flags & instructions                            │
│  - Execution trace                                           │
└──────────────────────────────────────────────────────────────┘

Challenges we ran into

  1. Real-time Appointment Coordination - Integrating Vapi phone calls required handling async call state, timeout management, and transcript extraction
  2. Multi-language Symptom Accuracy - Translating medical terminology while preserving clinical meaning is non-trivial; required LLM + domain knowledge
  3. Emergency Detection Edge Cases - Needed hybrid approach (keyword matching + LLM) to avoid both false positives and dangerous false negatives

Accomplishments that we're proud of

Multi-Agent Coordination At Scale - Successfully orchestrated 6+ specialized agents with clean A2A handoffs and state management

Emergency Detection That Saves Lives - Hybrid deterministic + LLM approach catches critical conditions without false alarms

Language Barriers Eliminated - Real-time multilingual support enables access for immigrant, tourist, and underserved populations

Appointment Booking Automation - First implementation of Vapi phone call scheduling for healthcare appointments—eliminates communication friction for vulnerable populations

Full LLM Integration in Healthcare - Responsible use of LLM reasoning with deterministic guardrails for safety-critical medical decisions

Clean Agent Architecture - Modular design enables easy addition of new specialized agents (e.g., pharmacy finder, billing assistance)

What we learned

  • Agent Specialization Works - Breaking healthcare logic into focused agents (triage, navigation, cost) makes the system maintainable and testable

  • Schema Consistency Matters - Sharing schemas between frontend/backend (TypeScript + Python) prevents integration bugs and speeds development

  • Tracing is Essential - Detailed execution traces make debugging multi-agent systems tractable

What's next for Severity

  1. Prescription & Pharmacy Integration - New agent to fill prescriptions and find nearby pharmacies with pricing

  2. Insurance Verification - Agent to check coverage, copay amounts, and network providers in real-time

  3. Integration with EHR Systems - Direct appointment syncing with clinic/hospital scheduling systems via HL7 FHIR

Built With

Share this project:

Updates