Survival Mode - Project Description
Try It Now
Launch Survival Mode — Open the live app at https://survivalmode.netlify.app/
(Best on mobile. Respects your privacy—zero tracking, zero data collection.)
The Problem
During severe mental health crises, people often lack the cognitive capacity to self-direct their recovery. Crisis moments—panic attacks, dissociation, suicidal ideation, or catatonic states—require immediate, accessible grounding without requiring thought or decision-making. Existing mental health apps often:
- Require complex navigation and decision trees (overwhelming during crises)
- Assume internet connectivity (unreliable in emergencies)
- Collect user data or track behavior (raising privacy concerns)
- Lack offline functionality (critical when networks fail)
- Use productivity language that can trigger shame ("complete tasks")
Survival Mode solves this by providing a zero-friction, compassionate crisis support tool that meets users exactly where they are—bedbound, dissociated, or barely functional—without judgment or data collection.
Tech Stack & Functionality
Technology
- Language: Vanilla JavaScript (no frameworks)
- Styling: Tailwind CSS (CDN) + custom CSS animations
- Storage: Browser localStorage
- PWA: Service Worker with Cache-First strategy
- Deployment: Static hosting (HTTPS required)
- Supported: All modern browsers (Chrome 50+, Safari 11.1+, Firefox 44+, Edge 15+)
Type of Software
Progressive Web Application (PWA) — A web app that works offline, can be installed on home screens, and functions like native mobile apps.
Detailed Functionality
Energy Level Assessment
- Users select one of three energy states: Bedbound (Level 1), Low Energy (Level 2), Functional but Fragile (Level 3)
- App customizes all subsequent interactions based on this selection
- No wrong answers—focuses on radical acceptance, not judgment
Adaptive Task System
- Each energy level receives 3 pre-curated tasks requiring minimal cognition:
- Level 1: Sip water, wiggle toes, reposition body
- Level 2: Take medications, wash face, eat zero-prep food
- Level 3: Refill water, brush teeth, move one piece of clutter
- Users can add up to 2 custom tasks per energy level
- Tasks are not productivity-focused; they're survival-focused
Affirmation Engine
- Provides textual validation at milestones (0, 1, 2, 3+ tasks):
- "You are safe here" → "You did a thing. Remarkable" → "Outstanding. You did it. Go rest now."
- Validates all effort equally; no progress bars or failure metrics
- Rejects hustle culture in favor of radical compassion
Panic Mode with Dual Interventions
Breathing Tab:
- 12-second guided breathing cycle (4s inhale, 4s hold, 4s exhale)
- Animated circle provides visual anchor
- Dynamic text changes (Inhale → Hold → Exhale)
- Optional haptic feedback synchronized with breathing patterns
- No counting required—the circle does the thinking
Grounding Tab:
- 5-4-3-2-1 sensory grounding exercise (clinically validated technique)
- Progressive steps: 5 things you see → 4 you touch → 3 you hear → 2 you smell → 1 you taste
- Visual progress indicators (dots) show where you are
- Guiding descriptions for each step
- Completion message and encouragement upon finish
Emergency Contact System
- Users set emergency contact number and crisis hotline (default: 988 Suicide & Crisis Lifeline)
- SOS modal offers two options: Text Trusted Contact or Call Crisis Hotline
- Opens native SMS (
sms:protocol) or phone app (tel:protocol) - Message and phone number auto-copied to clipboard for manual entry
- No data sent through Survival Mode—goes directly from phone to recipient
Haptic Feedback System
- Optional vibration patterns tied to interactions:
- Light clicks, double-clicks, success patterns, breathing cycles
- Adds tactile grounding during crisis moments
- Synchronized with breathing rhythm (inhale ramp, hold pulse, exhale descent)
- Can be disabled in settings for users who prefer silence
Local Data Persistence
- All data stored in browser localStorage (100% device-local)
- No cloud sync, no servers, no data transmission
- Users can clear all data at any time
- Survives browser restart and app reload
Offline-First Architecture
- Service Worker caches all assets on first visit
- Subsequent loads serve from cache (instant load)
- App functions 100% without internet
- Updates checked in background when online
How It Was Created
Survival Mode was developed through an iterative, user-centered design process focused on accessibility and simplicity.
Design Phase
- Extensive research into crisis intervention techniques (breathing exercises, 5-4-3-2-1 grounding)
- Validation from mental health guidelines and accessibility standards
- Iterative prototyping to ensure interactions require minimal cognition
- Color palette designed for eye strain sensitivity and visibility
Architecture Phase
- Deliberate choice of vanilla JavaScript to eliminate dependency overhead
- Service Worker architecture designed for reliable offline function
- localStorage chosen over IndexedDB for simplicity and privacy
- Modular state management (app object) for maintainability without frameworks
Implementation Phase
- Clean separation: index.html (UI), app.js (logic), style.css (animations), sw.js (offline caching)
- Comprehensive haptic system synchronized to breathing rhythm
- Modal-based emergency flows to reduce decision fatigue
- Accessible forms and interactive elements tested across devices
Validation & Refinement
- Cross-browser testing (desktop and mobile)
- Accessibility compliance (WCAG AA, keyboard navigation, touch targets)
- Low-bandwidth testing to ensure reliability on poor connections
- Crisis scenario walkthroughs to verify usability under stress
Philosophy Throughout
- Radical simplicity: no tracking, no analytics, no third-party dependencies
- Radical compassion: textual affirmations over metrics, no judgment, meets users where they are
- Radical privacy: zero data collection, 100% local storage, no cloud infrastructure
- Offline-first: designed for reliability when help is most needed
The result is a production-ready PWA that provides immediate, judgment-free support during mental health crises while protecting user privacy and requiring zero infrastructure costs.

Log in or sign up for Devpost to join the conversation.