Inspiration

Concussions are one of the most common — and most misunderstood — injuries, especially in youth sports. Recovery is invisible: there's no cast, no clear timeline, and the two things that decide how well you heal (pacing your activity and resting your brain) are exactly the things that are hardest to judge from the inside. On top of that, the injury quietly affects mood and anxiety, and the people going through it are often so light- and screen-sensitive that most apps literally hurt to use. [← add your own reason here — e.g. someone you know who had a concussion, or why this matters to you.] I wanted to build the calm, patient companion I wished existed for that.

What it does

NeuroBloom is a low-stimulation companion for concussion recovery and mental wellness. It:

  • Tracks symptoms and mood with a SCAT-style daily check-in (physical, cognitive, emotional, and sleep symptoms scored 0–6) plus a mood rating and notes.
  • Screens for danger signs first. Before anything else, a red-flag safety check watches for warning signs (worsening headache, repeated vomiting, confusion, weakness, etc.) and pushes the user toward emergency care.
  • Paces a safe return using the consensus Return-to-Play and Return-to-Learn step protocols, with contact and full-load stages locked behind clinician clearance (human-in-the-loop).
  • Grows a "recovery bloom" — a plant that visibly blossoms as you move through your recovery stages, turning a discouraging process into visible progress.
  • Shows trends and an on-device forecast — hand-drawn charts of symptom burden, mood, and sleep, plus a linear-regression projection of where your recovery is heading.
  • Offers a private AI companion that answers recovery questions using a machine-learning model that runs entirely in the browser.
  • Includes rest tools — box breathing, a cognitive-rest timer, and 5-4-3-2-1 grounding for symptom spikes and injury-related anxiety.

Everything is local-first: all health data stays in the browser and nothing is ever uploaded.

How I built it

The whole app is a single self-contained HTML/CSS/JavaScript file — no frameworks, no build step, and no external requests (I even dropped web fonts so it runs fully offline). The charts, the animated recovery bloom, and both machine-learning models are written from scratch in vanilla JavaScript.

The AI/ML is genuinely on-device, which is the core of my "responsible AI" approach — real machine learning, but private by construction, because the data can't leak when it never leaves the device.

  1. Recovery companion — multinomial Naive Bayes. A small labeled dataset of example questions is embedded in the app and the classifier is trained in the browser on load. Each question is tokenized and scored, and the app picks the most likely recovery topic:

$$ \hat{y} = \arg\max_{c}\; \log P(c) + \sum_{i} \log P(w_i \mid c) $$

with Laplace smoothing so unseen words don't break it, and a softmax confidence so low-confidence questions fall back to a safe general reply.

  1. Recovery forecaster — least-squares linear regression. It fits a trend line to recent symptom scores to project where recovery is heading, using \( \text{slope} = \frac{\sum (x_i-\bar{x})(y_i-\bar{y})}{\sum (x_i-\bar{x})^2} \), and translates the slope into plain-language guidance ("trending down," "holding steady," "flaring").

A deterministic safety layer runs before either model, so crisis and danger-sign detection is never left to a probability. The optional server is Node.js using built-in modules only, and it deploys on Render either as a static site or via a one-click Blueprint.

Challenges I ran into

  • Making an app for people who can't tolerate bright, busy apps. The fix became the identity of the product: a dim "healing garden at dusk" palette, minimal motion, and full support for reduced-motion — the design is the accessibility feature.
  • Doing real ML with zero dependencies. Writing a Naive Bayes classifier and a regression forecaster by hand — and keeping them fast and understandable — took several iterations.
  • Being helpful without overstepping into medical advice. Every answer had to stay educational and non-diagnostic, and every risky path had to escalate to real care.

Accomplishments that I'm proud of

  • A complete, working recovery tool that competes across mental health, physical health, and concussion recovery.
  • On-device machine learning with no APIs and no data leaving the device — responsible AI that's private by design.
  • A distinctive, accessible design built specifically for symptom-sensitive users.

What I learned

How Naive Bayes and linear regression actually work under the hood, how much clarity you gain by building without heavy frameworks, and how to design for accessibility as a first principle instead of an afterthought. I also learned how careful you have to be designing anything health-adjacent — where "do no harm" means building in safety checks and honest limits.

What's next for NeuroBloom

  • A read-only recovery summary a user can share with their clinician.
  • Richer, personalized pacing learned from a user's own symptom history (still on-device).
  • Reminders, a caregiver mode, and localization.

Built With

Share this project:

Updates