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

Share this project:

Updates

Submission history