-
-
Account Access + Safety Disclaimer
-
Core Setup Inputs
-
Setup Saved Summary
-
Alberta Scenario + Emergency Contacts
-
Offline Mode Dashboard
-
Online Dashboard
-
Overview Risk Snapshot + Condition Controls
-
Top 3 Immediate Actions
-
Mitigation + Execution Tracking
-
Full Protocol + Incident Timeline
-
Location + Shelter Intelligence
-
Nearby Hospitals (Distance Sorted)
-
Threat Fusion + Emergency Messaging
-
Live Location SMS Autofill
-
Alberta Local Help Actions
-
Settings
Inspiration
Power outages during Alberta extreme weather create high-stress decision moments where people lose time figuring out what to do first.
We wanted to build a tool that stays useful even when internet is weak or unavailable, and that gives clear, explainable priorities instead of vague advice.
What it does
Blackout Protocol OS is an offline-first emergency decision-support iOS app for households and small facility operators. It helps users:
- set up a household/facility profile once
- choose Alberta-relevant outage scenarios
- view deterministic risk scoring (0-100) with explainable factor contributions
- get prioritized protocol actions with “why now”
- compare baseline vs current vs operational risk
- use Help tools: a. emergency SMS templates (with live location autofill) b. nearby shelters (distance sorted) c. nearby hospitals in Alberta (distance sorted + directions) d. local Alberta support quick actions (911, 811, 211)
How we built it
We built the app with:
- Next.js 14 + TypeScript + React
- Tailwind CSS
- Capacitor iOS wrapper
- localStorage persistence + backup/restore
- deterministic weighted rule engine (no ML scoring, no randomness)
- protocol prioritization engine
- location-aware Help components for nearby resources
Core architecture:
- profile + scenario + condition state
- risk engine computes score + level + reasoned factor breakdown
- protocol engine computes prioritized actions and top 3 immediate actions
- operational layer recomputes projected score drop from mitigation/execution
Challenges we ran into
- ensuring the app remains useful under no-signal conditions
- keeping scoring explainable and deterministic under stress scenarios
- integrating location-based assistance with graceful fallback behavior
- making emergency messaging fast but still editable before sending
- packaging/testing reliably for iOS demo flow
Accomplishments that we're proud of
- reliable offline-first emergency decision flow
- deterministic and explainable risk engine
- clear stress-friendly UI with instant recompute
- practical Help layer with shelters, hospitals, and local contacts
- live location-aware emergency messaging
What we learned
- emergency UX must prioritize clarity and speed over feature overload
- deterministic systems can be both trustworthy and actionable
- offline-first constraints improve reliability and demo stability
- local context (Alberta scenarios/resources) dramatically improves usefulness
What's next for One Stack_Blackout Protocol OS
- deeper integration with official Alberta/municipal emergency data feeds
- richer shelter/hospital live status confidence and update cadence
- multilingual support
- optional cloud sync for account/data portability across devices
Built With
- capacitor
- css
- ios
- localstorage
- next.js
- react
- tailwind
- typescript
- vitest
Log in or sign up for Devpost to join the conversation.