Inspiration
Autism meltdowns, elopement, and self-injury episodes are some of the most stressful moments a caregiver can face. Existing tools focus on after - behavior tracking, therapy logs, data for clinicians. But in the moment of crisis, caregivers are on their own, trying to recall strategies from a therapy session weeks ago while their child is in distress.
We saw a gap: there's no tool that meets caregivers during the crisis with guidance that's specific to their child. Not generic advice from a Google search - actionable steps shaped by this child's triggers, sensory needs, and what actually calms them down.
CalmPath exists to fill that gap.
What it does
CalmPath delivers real-time, personalized crisis guidance for caregivers of autistic individuals (Level 2–3). You select the crisis type - meltdown, elopement, self-injury, aggression, or shutdown - and within seconds, you receive structured, child-specific steps:
- Right Now - what to do immediately
- Why - what's happening in their nervous system
- What NOT to Do - common instincts that escalate things
- When to Escalate - when to call for help
Every response is shaped by the child's profile: their sensory sensitivities, known triggers, calming strategies that actually work, and communication level.
How we built it
- Backend: Python / FastAPI with async SQLAlchemy, PostgreSQL + pgvector, and AES-256-GCM encryption for all PII. Caregivers authenticate with simple 8-character access codes - no emails, no passwords, no friction.
- Frontend: React Native (Expo SDK 55) with native tabs, a warm dark theme designed for low-light, high-stress use.
- Crisis engine: Per-crisis-type Jinja2 prompt templates injected with the child's full profile, streamed via SSE for sub-second first-token delivery. LLM provider is abstracted - swap between OpenAI and Anthropic with an env var.
- Privacy-first: No plaintext PII on the server. Names are encrypted. No tracking, no analytics.
Challenges we ran into
Prompt engineering for safety. This isn't a chatbot - a wrong suggestion during a self-injury crisis could cause real harm. Each crisis type needed its own clinical framing, and the "What NOT to Do" section required careful iteration.
Zero-friction auth under stress. Traditional login flows are impossible when your hands are shaking. Short access codes solve this, with the tradeoff of account recovery handled through caregiver sharing codes.
Streaming on mobile networks. Crisis moments don't wait for good WiFi. SSE streaming delivers the first actionable sentence in under a second. Getting this reliable across iOS and Android required careful chunked-response handling.
Balancing personalization with speed. More profile data means better guidance, but onboarding can't feel like a form. Everything is optional except the child's name - the system degrades gracefully with less data.
Accomplishments that we're proud of
- Sub-second crisis response - from tapping "Crisis" to seeing the first actionable sentence on screen, the entire pipeline (profile injection, prompt rendering, LLM streaming) completes in under a second.
- Zero PII exposure - every piece of identifying information is AES-256-GCM encrypted at rest. No emails, no passwords, no tracking. A caregiver can start using the app in seconds without handing over personal data.
- Multi-caregiver sharing - parents, grandparents, respite workers, and teachers can all access the same child's profile through share codes. The child's crisis playbook follows them across caregivers.
- Crisis-specific prompt architecture - not one generic prompt, but five distinct clinical framings (meltdown, elopement, self-injury, aggression, shutdown), each producing a structured four-part response tailored to that crisis type.
- Designed for panic - large touch targets, minimal navigation, dark theme for 2 AM episodes, and a UI that assumes the user's hands are shaking. Every screen passed the test: "Could I use this mid-crisis?"
What we learned
The hardest design constraint wasn't technical - it was emotional. Every UI decision came back to: "Would this work if the caregiver is panicking?" That filter killed a lot of features that seemed useful on paper but added cognitive load when it mattered most.
What's next for CalmPath
- Offline mode - cache the child's profile and pre-generated guidance locally so the app works without any network connection.
- Post-crisis logging - after the crisis passes, optionally record what happened, what worked, and what didn't. Over time, this builds a history that sharpens future guidance.
- Wearable alerts - Apple Watch / Wear OS notifications that surface the "Right Now" steps on the caregiver's wrist when their hands are occupied.
- Multi-language support - crisis guidance in the caregiver's native language, starting with Spanish and Arabic.
- Therapist collaboration - let a child's therapist review crisis logs (with caregiver consent) and refine the profile's strategies, closing the loop between crisis moments and clinical sessions.
Built With
- alembic
- anthropic
- docker
- fastapi
- jinja
- openai
- pgvector
- postgresql
- pydantic
- python
- react-native
- sqlalchemy
- sse
- typescript
Log in or sign up for Devpost to join the conversation.