← Back to Mockups & MVPs

Healthcare Voice Agent

AWS-based appointment scheduling system with bilingual voice interaction

Try Live Demo
AWS Voice Agent Architecture Diagram

Overview

This is a healthcare appointment scheduling voice agent built on AWS. It lets patients book, cancel, and check medical appointments via voice — either by phone (Amazon Connect) or through a web browser (React app).

The system supports bilingual interaction in English and Spanish, making healthcare scheduling accessible to a wider patient population. AI-powered conversations handle the full appointment lifecycle without human intervention.

Key Capabilities

  • 🌐
    Bilingual Support

    Full English and Spanish voice interaction for inclusive patient access

  • 🎤
    Voice-to-Text & Text-to-Voice

    Amazon Transcribe for speech recognition, Amazon Polly for natural voice synthesis

  • 🤖
    AI Conversation Engine

    Powered by Amazon Bedrock with Claude 3.5 Sonnet for natural, context-aware dialogue

  • 📅
    Appointment Management

    Check availability, book, cancel, and lookup appointments through voice commands

  • Real-Time Communication

    WebSocket-based streaming for low-latency voice interaction in the browser

  • 🗂
    Persistent Storage

    DynamoDB for session management (24h TTL) and appointment records (GSI)

Technology Stack

AI & Voice

Amazon Bedrock Claude 3.5 Sonnet Amazon Transcribe Amazon Polly

Communication

Amazon Connect API Gateway WebSockets

Compute & Storage

AWS Lambda DynamoDB S3 CloudWatch

Frontend

React Vite Tailwind CSS Web Speech API

Infrastructure

CloudFront Cognito OAuth2

How It Works

1
Patient Initiates Call

Via phone (PSTN through Amazon Connect) or web browser (React app with Web Speech API)

2
Voice Processing

Amazon Transcribe converts speech to text with bilingual EN/ES support

3
AI Understanding

Lambda orchestrator sends text to Amazon Bedrock (Claude 3.5 Sonnet) for intent recognition and response generation

4
Action Execution

The AI triggers appointment tools: availability check, booking, cancellation, or lookup against DynamoDB

5
Voice Response

Amazon Polly converts the AI response to natural speech and streams it back to the patient

AWS Services

Service Purpose Configuration
Amazon Bedrock LLM for conversation AI Claude 3.5 Sonnet, Converse API with Tool Use
AWS Lambda Serverless compute Node.js 20.x, 512MB RAM, 30s timeout
API Gateway WebSocket API Routes: $connect, $disconnect, transcript, command
DynamoDB NoSQL database On-demand capacity, TTL enabled (24h sessions)
S3 Static hosting & recordings React SPA hosting, Glacier transition at 90 days
CloudFront CDN & SSL termination Custom domain, TLS 1.2+
Cognito Authentication User pool with email verification, self-service sign-up
CloudWatch Logging & monitoring 30-day log retention, error tracking

Security

  • 🔒
    Encryption

    All traffic via HTTPS/WSS. CloudFront with TLS 1.2+. DynamoDB encryption at rest

  • 👤
    Authentication

    Cognito User Pool for web client auth. WebSocket connections authenticated via query parameters

  • 🛡
    Least Privilege IAM

    Lambda role scoped to specific DynamoDB tables, Bedrock model, S3 bucket, and API Gateway connections

Rate Limiting

  • Message Limits

    20 messages/min per session, 100 messages max per session

  • 🧠
    Bedrock Limits

    10 API calls/min, 100K tokens/day per session with exponential backoff retry

  • 📈
    API Gateway Throttling

    50-100 req/sec sustained rate with burst capacity up to 200 requests