Inspiration
In India and many developing nations, people routinely turn to Google to self-diagnose symptoms — often getting inaccurate or anxiety-inducing results. I wanted to build something that gives structured, clinically-backed guidance to anyone with a browser, regardless of location, income, or insurance status. That's the gap SymptomFlow fills.
What It Does
SymptomFlow is an interactive symptom triage web app. You tap a body region, select your symptoms, answer a short yes/no decision tree, and receive one of three verdicts:
- 🔴 Go to the ER Now
- 🟡 See a Doctor Soon
- 🟢 Monitor at Home
Every verdict includes plain-language reasoning and clear next steps. No sign-up. No cost. No app install required.
How I Built It
- React 18 + TypeScript + Vite — component architecture with full type safety
- Zustand — lightweight in-memory session state, no backend needed
- Framer Motion + GSAP — page transitions and animated card stacks
- Tailwind CSS v3 — glassmorphic design system with custom tokens
- React Router v6 — client-side routing with shareable result URLs encoded as query parameters
- Vercel — deployment with SPA routing rewrites
All triage logic lives in a static TypeScript decision tree built on 2024 AHA First Aid Guidelines, the Canadian Triage and Acuity Scale (CTAS), the Manchester Triage System (MTS), and GP Triage AU flowcharts.
Challenges
- Building a branching decision tree that covers 5 body regions with clinically accurate yes/no flows without a backend or ML model
- Encoding full triage results into URL query parameters for shareable links that survive cold loads
- Keeping the bundle size manageable with GSAP, Framer Motion, and Three.js all in the same project
SDG 3 Alignment
SymptomFlow directly addresses two targets:
- Target 3.8 — Universal Health Coverage: structured triage for anyone who cannot immediately access a healthcare provider
- Target 3.d — Health Security: reduces unnecessary ER visits while ensuring genuine emergencies are not ignored
Built With
- framer-motion
- gsap
- react
- react-router
- tailwind-css
- typescript
- vercel
- vite
- zustand
Log in or sign up for Devpost to join the conversation.