Inspiration
I'm a premed international student at UTSC. I tore my ACL and spent 13 hours alone in a Montreal ER. I didn't understand triage, I didn't know my rights, and I had no idea how to file a UHIP claim afterward. I was scared, in pain, and completely lost. No one should feel that way — so I built ER Navigator.
What it does
ER Navigator is a three-part web app for international students in Canadian ERs:
- ER Guide — AI chat that explains triage, wait times, and patient rights. Never medical advice — always redirects clinical questions to the care team.
- Insurance Navigator — step-by-step claim guidance for UHIP, OHIP, travel insurance, and out-of-province coverage.
- Phrasebook — 10 essential phrases in French, Mandarin, Arabic, Hindi, Spanish, and Portuguese to show hospital staff directly from your phone.
How I built it
I built it as a single index.html file using HTML, CSS, and JavaScript — no frameworks, no build tools. I used CSS variables for consistent theming, flexbox for layouts, and keyframe animations for the typing indicator. The AI chat maintains a chatHistory array and sends the full conversation to the Anthropic Claude API on every message. To keep the API key secure without a traditional backend, I deployed a Cloudflare Worker as a proxy — the site calls the Worker, the Worker holds the encrypted key as an environment secret and forwards requests to Anthropic. The key never appears in the public GitHub repo.
Challenges
GitHub's secret scanner automatically revoked my API key seconds after every push to the public repo. I had to learn what a Cloudflare Worker was, deploy one from scratch, and move the key into an encrypted environment secret — all during the hackathon. That was the hardest part, and the most satisfying to solve.
What I learned
I came in with no web development experience. I learned how HTML, CSS, and JavaScript work together, how APIs work, what JSON is, how serverless functions work, and how to deploy a live website. Most importantly I learned that the best products come from real personal pain.
What's next
A triage-level estimator based on symptom severity (without diagnosing), push notifications for ER wait time updates, and partnerships with Ontario hospitals to provide real-time information.
Built With
- anthropic-claude-api
- cloudflare-workers
- css
- github
- html
- javascript
Log in or sign up for Devpost to join the conversation.