Inspiration

It started with a simple question: what do you actually do in the first five minutes of a medical emergency? Not the obvious cases — if someone is unconscious, you call 911. But the vast majority of medical emergencies live in the gray zone. Chest tightness that might be anxiety or might be a heart attack. A cut that won't stop bleeding. A fever that's been climbing for three days. In those moments, people freeze. They open Google, see a list of hospitals sorted by distance, and make a guess. We kept coming back to one statistic: nearly 300,000 patients leave emergency rooms without being treated every year — not because they didn't need care, but because they couldn't handle the wait. Meanwhile, urgent care centers nearby sit at 30% capacity. People are going to the wrong place, with no information to guide them differently. The people this hurts most are the ones who can least afford it — the 41 million uninsured Americans who avoid the ER because they don't know what it will cost, non-English speakers who can't navigate a phone tree, anyone who's ever stood in a parking lot at midnight Googling "ER near me" with no idea which result to trust. We wanted to build the thing that should have always existed: a calm, intelligent guide that tells you exactly what to do, where to go, and what it will cost — before you even leave your house.

What it does

TriageNav is an AI-powered emergency routing platform that acts as a triage nurse in your pocket. You open the app and immediately see a live map of every hospital near you — not generic pins, but custom animated markers that simultaneously show how well each facility matches your urgency level, how crowded it currently is based on WiFi signal density estimation, and how far away it is. You describe your symptoms by typing or speaking (voice input works natively in the browser, no setup required), and Claude analyzes them the way a triage nurse would — classifying urgency into Emergency, Urgent Care, Can Wait, or Telehealth, determining what kind of facility you actually need, and checking whether you should call 911 instead of driving anywhere at all. If it's 911, that's the only thing you see — a big red button, nothing else. For everything else, TriageNav surfaces your top three facility options ranked by a composite score weighing urgency match, proximity, and WiFi-derived crowding simultaneously, with estimated wait times and cost ranges adjusted for your insurance status. At the bottom of every results page is the feature we're most proud of: the Arrival Card — a clean, screenshot-friendly clinical summary written for the triage nurse, not for you, so the right information is already in the right hands the moment you walk through the door.

How we built it

We built TriageNav using Next.js 14 with the App Router and TypeScript throughout, styled with Tailwind CSS and animated with Framer Motion, deployed instantly on Vercel. The AI layer is entirely Claude (claude-sonnet-4-20250514) — we designed a system prompt that enforces conservative triage logic, outputs a strict JSON schema every time, and generates both the patient-facing reasoning and the nurse-facing arrival card in a single API call. The map visualization uses the Google Maps JavaScript API with custom React-rendered OverlayView markers that encode three data dimensions simultaneously through color, size, and fill level, while the Google Places API powers facility search based on Claude's recommended facility type. The crowding engine — our most novel technical contribution — estimates hospital occupancy using WiFi access point signal density as a proxy for human density: more connected devices means more people, more people means longer wait times. For the MVP, we simulate this signal using a model built on published ER volume research, time-of-day patterns, day-of-week adjustments, and hospital size factors, with the real-world implementation using live WiFi scanning data as the input signal.

Challenges we ran into

The hardest problem was calibrating Claude's triage logic to be consistently conservative without becoming useless — too aggressive and it tells everyone to call 911, too lenient and it undersells genuine emergencies, so we went through multiple system prompt iterations before landing on language that reliably escalates under uncertainty while still giving actionable guidance for moderate cases. Encoding three meaningful data dimensions (urgency match, crowding, proximity) into a single animated map marker without creating visual noise took more design iteration than expected — our first attempts were too complex, and the breakthrough was stripping back to the simplest possible encoding that was legible at a glance. Real hospital crowding data is not publicly available in a usable real-time API, so we made the deliberate choice to simulate it with transparent methodology rather than present unreliable scraped data as fact, which was as much an ethical decision as a technical one. And building an app for people who are scared forced us to evaluate every design decision — animation timing, copy tone, color choices, loading states — against one question: does this add to someone's stress or reduce it?

Accomplishments that we're proud of

We're most proud of the Arrival Card — the idea that someone walks into a chaotic emergency room and immediately hands a nurse a clean, AI-generated clinical summary of what's wrong with them, skipping the fumbling and miscommunication that costs critical minutes, feels like the feature most likely to actually change an outcome. We're proud of building conservative triage logic that deliberately restrains itself — it would have been easy to ship a confident AI that always gives a clean answer, but in a safety-critical application, knowing when to escalate and when to say "call 911 first" is a harder and more important engineering achievement. And we're proud of shipping something that looks and feels like a real, considered product in under two hours of active development — which would not have been possible without Claude Code fundamentally changing where the bottleneck in software development actually lives.

What we learned

Claude is remarkably capable at clinical reasoning when prompted carefully, but the prompt architecture matters enormously — separating the triage classification, the patient-facing reasoning, and the nurse-facing arrival card into distinct outputs within the same API call, each with its own audience and register, produced dramatically better results than asking Claude to do everything in one block. We learned that calm is a design principle, not just an aesthetic — building for people in genuine distress forced a level of UX intentionality we usually skip, and that constraint made us better designers. We also learned that transparency about data limitations is a strength, not a weakness — being upfront that crowding is simulated and costs are estimates made the product more trustworthy to users and judges alike, not less. And most broadly, we learned that the bottleneck in building software is no longer writing code — it's making good decisions fast, and that shift changes everything about how you approach a hackathon.

What's next for TriageNav

The immediate next step is replacing our crowding simulation with real data — the federal 21st Century Cures Act now requires hospitals to expose occupancy and wait time data via FHIR APIs, and we've already identified the specific endpoints we'd integrate first. After that, EMS pre-notification: when TriageNav routes you to a facility, it simultaneously alerts that facility you're coming — with your triage summary, symptoms, insurance status, and ETA — so the hospital is ready before you pull into the parking lot. We'd add saved health profiles so your insurance, medications, and allergies are already in the app before you need it, making the arrival card a complete clinical picture rather than just today's symptoms. Multilingual support — Spanish and Mandarin first — is one system prompt change and a UI localization pass away, and given that the population who benefits most from this app is disproportionately non-English speaking, it's a high-impact addition we'd prioritize early. Long term, the anonymized routing data TriageNav generates tells hospitals something they desperately want: who is coming, why, and from where — a hospital-facing dashboard built on that data creates a sustainable B2B business model that funds the consumer product staying permanently free.

Built With

Share this project:

Updates