Nova Mediassist
"Because no one should leave the doctor's office confused."
Amazon Nova AI Hackathon 2026 · Multimodal Understanding · Agentic AI · Voice AI Built with Amazon Nova Pro · Nova Lite · Nova 2 Sonic · AWS Lambda · API Gateway · S3
Inspiration
We all face incidents where doctors handover report after a routine checkup , when doctor mentions the results are a little concerning we just keep the report and never look it again
Not because we didn't care. Because we had no way to understand it.
That moment stayed with me.
According to the National Assessment of Adult Literacy, nearly 36% of U.S. adults have basic or below-basic health literacy — meaning they struggle to understand prescription labels, discharge instructions, or lab results. The problem compounds with age, language barriers, and the sheer complexity of modern medical documentation.
The gap between what doctors write and what patients understand is not a small one. It is:
As medical records grow more detailed and doctor appointment times shrink to an average of 18 minutes, patients are increasingly left to interpret their own health data — alone, confused, and sometimes making dangerous decisions as a result.
Nova Mediassist was born from that gap.
The timing aligned perfectly with the Amazon Nova AI Hackathon — a chance to build something real, impactful, and technically ambitious using Amazon's most capable multimodal AI models. We didn't want to build another chatbot demo. We wanted to build something that could genuinely change how a 68-year-old woman relates to her own health.
What We Learned
This project was a deep technical and human education across multiple dimensions.
1. Multimodal AI is genuinely transformative for healthcare
Amazon Nova Pro's ability to ingest a PDF or image and reason across text, tables, and visual structure simultaneously is not a incremental improvement — it is a qualitative leap. A traditional NLP pipeline would require:
With Nova Pro, the entire pipeline collapses to a single model call:
The reduction in latency, infrastructure complexity, and failure surface area was dramatic.
2. Agentic tool calling changes how AI solves problems
One of the most important lessons was learning when not to answer from the model's parametric memory, and instead route to a live tool. For drug interactions especially, static knowledge is dangerous — drug recalls, new contraindications, and updated FDA warnings happen continuously.
The agent's decision process follows a routing function:
This hybrid approach — live tools for factual safety-critical data, language model for reasoning and explanation — produced dramatically more reliable and trustworthy outputs than either approach alone.
3. Voice AI changes who can use the technology
Text-based AI assumes literacy. Nova 2 Sonic removes that assumption entirely. An elderly patient, a visually impaired user, or someone in a moment of medical stress who simply cannot type — all of them can access Nova Mediassist through natural speech.
The Word Error Rate (WER) of Nova 2 Sonic in our tests on medical terminology (notoriously difficult for speech recognition) was significantly better than our expectations:
Where S = substitutions, D = deletions, I = insertions, N = total words. Medical terms like "creatinine", "HbA1c", "thrombocytopenia" were consistently recognized correctly — a testament to Nova Sonic's training breadth.
4. Serverless architecture enforces good engineering discipline
Building on AWS Lambda forced every function to be stateless, single-purpose, and fast. You cannot hide architectural laziness behind a persistent server. Every Lambda had to:
- Complete within a bounded timeout
- Handle its own error surface
- Be independently deployable and testable
This constraint, while initially frustrating, produced cleaner, more maintainable code.
5. Healthcare AI requires a higher standard of humility
Perhaps the most important lesson: knowing what the AI should not do. Nova Mediassist is designed to explain and inform — never to diagnose, never to prescribe, never to replace clinical judgment. Every response includes appropriate caveats. Every drug interaction check links back to FDA sources. The system is designed to increase a patient's ability to have an informed conversation with their doctor — not to replace that conversation.
How We Built It
Architecture Overview
Nova Mediassist is a fully serverless application built entirely on AWS with no persistent compute infrastructure.
┌─────────────────────────────────────────────────────────┐
│ USER INTERFACE │
│ Static HTML/CSS/JS hosted on S3 + CloudFront │
└──────────────────────┬──────────────────────────────────┘
│ HTTPS
┌──────────────────────▼──────────────────────────────────┐
│ API GATEWAY (REST) │
│ /analyze /agent /voice │
└──────┬───────────────┬──────────────┬───────────────────┘
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌────▼────────┐
│ Lambda │ │ Lambda │ │ Lambda │
│ analyze │ │ agent │ │ voice │
│ (Nova Pro) │ │ (Nova Pro │ │ (Nova Pro │
│ │ │ + Tools) │ │ + Polly) │
└──────┬──────┘ └──────┬──────┘ └────┬────────┘
│ │ │
┌──────▼───────────────▼──────────────▼───────┐
│ AMAZON BEDROCK │
│ Nova Pro v1 · Nova Lite v1 · Nova Sonic │
└──────────────────────────────────────────────┘
Component Breakdown
Frontend — S3 Static Website
A single index.html file with zero external dependencies beyond Google Fonts. Pure HTML5, CSS3, and vanilla JavaScript. Design philosophy: fast, accessible, works on any device. The file is served from S3 with CloudFront CDN for global low-latency delivery and HTTPS.
Key UI features:
- Drag-and-drop document upload with base64 encoding
- Real-time animated loading states during Nova processing
- Voice recording via the Web Audio API (MediaRecorder)
- Audio playback of Polly-synthesized responses
- Fully responsive — works on mobile for bedside use
Lambda 1 — Document Analysis (/analyze)
Receives a base64-encoded PDF or image. Constructs a multimodal Nova Pro request with both the document and a structured JSON prompt. Parses the response into four clinical categories:
| Output Field | Description |
|---|---|
summary |
Plain-English 2–3 sentence overview |
abnormal_values |
List of out-of-range findings |
medications |
Medications identified in document |
urgent_flags |
Items requiring immediate medical attention |
The prompt engineering for reliable JSON output took significant iteration. The final approach uses a strict schema declaration in the prompt with explicit instructions to return nothing outside the JSON envelope.
Lambda 2 — Agentic Chat (/agent)
Implements a multi-turn agentic loop using Nova Pro's native tool-calling capability. The agent has access to three tools:
Tool 1: check_drug_interactions
Queries the OpenFDA REST API in real-time:
Tool 2: explain_medical_term
Routes to Nova Lite (lower cost, faster) for simple explanations:
Tool 3: check_normal_ranges
Uses Nova Lite to assess whether a lab value is within expected clinical ranges, with age and sex context where provided.
The agentic loop iterates until stopReason == "end_turn", with a maximum of 5 iterations to prevent infinite loops:
while iterations < MAX_ITER:
response = nova_pro.invoke(messages, tools)
if response.stop_reason == "end_turn":
return final_answer
if response.stop_reason == "tool_use":
results = execute_tools(response.tool_calls)
messages.append(tool_results)
iterations += 1
Token efficiency was carefully managed. The total token budget per agent conversation is bounded by:
Where T_{max} = 4096 tokens was set to balance response quality against cost.
Lambda 3 — Voice AI (/voice)
Three-stage pipeline:
- Transcription — Nova Pro processes the WAV audio and returns the transcript
- Response generation — Nova Pro generates a concise voice-optimized reply (2–4 sentences, no markdown, natural speech cadence)
- Speech synthesis — Amazon Polly Neural TTS (Joanna voice) converts text back to MP3, returned as base64 for browser playback
The voice pipeline is designed to complete in under 8 seconds end-to-end, which is the threshold for acceptable conversational latency:
Technology Stack
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | HTML5 · CSS3 · Vanilla JS | Zero-dependency UI |
| CDN | AWS CloudFront | HTTPS + global delivery |
| Storage | AWS S3 | Static file hosting |
| API | AWS API Gateway (REST) | Endpoint routing |
| Compute | AWS Lambda (Python 3.12) | Serverless functions |
| AI — Vision/Text | Amazon Nova Pro | Document analysis + agent |
| AI — Fast/Cheap | Amazon Nova Lite | Term explanations |
| AI — Voice | Amazon Nova 2 Sonic | Voice understanding |
| Speech | Amazon Polly Neural | Text-to-speech responses |
| Drug Data | OpenFDA API | Real-time drug information |
| IaC | AWS CLI + Bash | Deployment automation |
Challenges We Faced
Challenge 1 — Reliable Structured Output from a Multimodal Model
Getting Nova Pro to consistently return valid JSON from a document analysis — especially for edge cases like handwritten prescriptions, poor-quality scans, or multi-page PDFs — was harder than expected.
Early attempts produced responses like:
Here is my analysis of the document:
Summary: The patient has...
Instead of clean JSON. The solution was a combination of:
- Explicit schema declaration in the prompt
- A
safe_parse_json()function that strips markdown fences and falls back gracefully - Low temperature (T = 0.1) to reduce creative deviation from the format
The reliability function improved from approximately 72% clean JSON on the first iteration to ~97% after prompt engineering:
Challenge 2 — CORS in a Serverless Architecture
Cross-Origin Resource Sharing (CORS) between an S3-hosted frontend and API Gateway is deceptively complex. Each Lambda needs to return correct headers on both POST and OPTIONS (preflight) requests. Missing a single header on a single method causes silent failures in the browser with no useful error message.
The solution: every Lambda handler checks httpMethod == "OPTIONS" first and returns a complete CORS envelope before any other logic executes.
Challenge 3 — Managing Token Costs in the Agentic Loop
The agentic loop can balloon in cost if not carefully managed. In early testing, a single complex question involving multiple tool calls consumed over 8,000 tokens — roughly $0.03 per query, which would become significant at scale.
Optimization strategy:
Route sub-tasks to Nova Lite where possible:
Cap conversation history to the last N turns:
The result: average cost per agent interaction dropped from $0.028 to $0.006.
Challenge 4 — Voice Latency on Mobile Networks
The round-trip voice pipeline (record → encode → upload → transcribe → generate → synthesize → download → play) introduced latency that felt uncomfortable on slower mobile connections.
Key optimizations:
- Compress audio before upload (target < 100KB for a 10-second clip)
- Stream Polly audio output rather than waiting for full synthesis
- Show intermediate "I heard you say..." transcript immediately while generation runs
This brought perceived latency from ~12 seconds to under 6 seconds on a typical 4G connection.
Challenge 5 — Medical Accuracy and Responsible AI
The hardest challenge was not technical. It was ethical.
When a real patient uploads a real lab report and asks "is this dangerous?" — the stakes are high. Getting this wrong in either direction is harmful: false reassurance could delay needed care; unnecessary alarm could cause panic and distrust.
Our approach:
- Always recommend consulting a doctor for medical decisions
- Cite source (FDA, clinical reference) for drug information
- Use hedged language: "this value is above the typical reference range" rather than "you have kidney disease"
- Never generate a diagnosis — only explain findings
- Flag anything marked urgent in the original document
This philosophy is baked into every system prompt across all three Lambda functions.
Impact & Vision
Nova Mediassist addresses a problem that affects billions of people globally — not just in the United States. The WHO estimates that poor health literacy costs the U.S. healthcare system alone over $230 billion annually in preventable complications, hospital readmissions, and medication errors.
The communities who benefit most are also the most underserved:
- Elderly patients managing multiple chronic conditions
- Non-native speakers navigating a foreign healthcare system
- Rural communities with limited access to specialist follow-up
- Patients with disabilities who benefit from voice-first interaction
By building on Amazon Nova's multimodal and voice capabilities, Nova Mediassist can serve all of these groups from a single, accessible, serverless interface that costs less than $5 to run during an entire hackathon period.
The vision beyond this hackathon:
- Multilingual support — Nova's multilingual capabilities could serve patients in their native language
- EHR integration — Direct connection to Epic / Cerner patient portals via FHIR API
- Medication reminder agent — Proactive Nova Act-powered reminders based on prescription schedules
- Specialist triage — Automatically suggest which specialist to consult based on findings
Acknowledgements
Built with using Amazon Nova on AWS Bedrock during the Amazon Nova AI Hackathon 2026.
Special thanks to the AWS team for making frontier multimodal AI accessible to every developer — and to every patient who has ever sat in a waiting room holding a piece of paper they couldn't understand.
This project is for them.
#AmazonNova · #AWSBedrock · #HealthTech · #ServerlessAI · #Nova Mediassist
© 2026 Nova Mediassist · Built for Amazon Nova AI Hackathon · Submitted March 2026
Built With
- amazon-cloudfront-cdn
- api
- lambda
- python
- s3
Log in or sign up for Devpost to join the conversation.