Inspiration Concussion symptoms are subjective, inconsistent, and easy to misremember. By the time someone sees a doctor days after a bump to the head, they've usually forgotten exactly how bad the headache was on day two, or whether light sensitivity was actually getting better or worse. I wanted to build something that captures that data in the moment, instead of relying on memory.
What it does Recovery Tracker lets someone log 7 concussion-related symptoms (headache, dizziness, light/noise sensitivity, screen tolerance, sleep, concentration) in under 2 minutes a day. It then:
- Visualizes symptom severity as a trend line over time
- Estimates where the user likely stands in the CDC's real 6-Step Return to Play Progression, based on their last 3 check-ins
- Deliberately caps that estimate at Step 3 — the later steps involve contact activity and require in-person medical clearance, which a self-report app has no business claiming to give
- Includes a persistent safety disclaimer and a low-stimulation/dark mode, since light sensitivity is one of the most common symptoms being tracked
How we built it
- React + Vite + Tailwind for the frontend
- Firebase (Firestore + Anonymous Auth) for storage, so users get a private check-in history with no login screen
- Recharts for the trend visualization
Challenges we ran into
- Getting the return-to-activity logic right took real research, not guesswork — the CDC's actual 6-Step Return to Play Progression requires 24 symptom-free hours per step and medical clearance for the later steps. Building an app that respects that instead of glossing over it meant deliberately limiting what the tool claims to do.
- Firestore composite indexes, environment setup, and Git/GitHub configuration were bigger time sinks than the actual app logic — a good reminder that a lot of "building software" is really just plumbing.
Accomplishments that we're proud of
- Grounding the stage-estimate feature in an actual cited medical framework instead of inventing arbitrary logic
- Building in a real safety ceiling (capping at Step 3) rather than letting the app imply it can clear someone for contact activity
- A full accessibility pass: keyboard navigation, screen reader support for the chart and form, and a low-stimulation mode for symptom-sensitive users
What we learned How much thought goes into responsibly building anything that touches health data — even a simple tracker raises real questions about what an app should and shouldn't claim to know.
What's next for Recovery Tracker
- Optional doctor/parent view for sharing trend data
- Reminders/notifications for daily check-ins
- Exportable PDF summary to bring to a medical appointment
Built With
- css
- firebase
- firestore
- javascript
- react
- recharts
- vite
Log in or sign up for Devpost to join the conversation.