Turn any smartphone into a rescue beacon. When disaster strikes and someone is trapped, they press one button - their phone becomes a homing signal.
FLARE turns any smartphone into a rescue beacon. When disaster strikes and someone is trapped, they press one button - their phone becomes a homing signal. Rescuers follow the signal like a treasure hunt, with real-time distance updates and a heat map showing safe paths around obstacles.
No GPS, no internet, no special equipment needed. Just Bluetooth waves and smart navigation.
During disasters (earthquakes, building collapses, floods):
- Cell towers are down - no calls or texts
- GPS doesn't work indoors or under rubble
- Rescuers can't locate victims who are:
- Unconscious and can't call for help
- Buried under debris
- Lost and don't know their own location
- Children who can't describe where they are
FLARE solves the problem: FINDING people who can't communicate.
Victim Side (SOS Beacon):
- One-tap SOS button
- Phone becomes a continuous Bluetooth/WiFi beacon
- Works even if victim is unconscious (just needs to be turned on once)
- Broadcasts device ID + battery status
Rescuer Side (Navigator):
- Detects all SOS beacons in range
- Shows distance to each victim (using signal strength)
- Provides directional navigation ("hot/cold" guidance)
- 2D Heat Map showing safe paths vs obstacles
- AR View (optional) with 3D markers overlaid on camera
| Technology | Range | Accuracy | Purpose |
|---|---|---|---|
| Bluetooth LE | ~100m | Β±3-5m | Primary victim detection |
| WiFi Direct | ~200m | Β±2-4m | Extended range detection |
| UWB (if available) | ~50m | Β±10-30cm | High-precision positioning |
- RSSI = Received Signal Strength Indicator
- Stronger signal = closer to victim
- Formula converts signal strength β approximate distance
- Updates in real-time as rescuer moves
Rescuer walks 5 meters β
Signal got stronger? β "Keep going this direction β"
Signal got weaker? β "Turn around βΊ"
We detect obstacles WITHOUT imaging by analyzing signal patterns:
- π’ GREEN = Clear path (strong, stable signal)
- π‘ YELLOW = Unstable area (fluctuating signal)
- π΄ RED = Obstacle detected (sudden signal drop)
βββββββββββββββββββββββββββ
β π― FLARE SCANNER β
βββββββββββββββββββββββββββ€
β ))))))) β
β ))))))) β
β β π€ Victim A β
β β 12m away β
β Signal: ββββββββββ β
β Battery: 42% β
βββββββββββββββββββββββββββ
βββββββββββββββββββββββββββ
β πΊοΈ HEAT MAP β
βββββββββββββββββββββββββββ€
β π’π’π’π΄π΄ β
β π’π’π΄π΄π΄ β
β π’YOUπ’π‘π΄ β
β π’π’π’π’π Victim β
β Safe path detected β β
βββββββββββββββββββββββββββ
-
PUBLIC EMERGENCIES (Earthquake/Disaster)
- Anyone can send SOS
- Anyone can help locate victims
- Trigger: Triple power button press
-
PROFESSIONAL RESCUE (Fire/Police/EMT)
- Certified rescuers only
- Connects to emergency dispatch systems
- Trigger: Long press + Volume Down
-
PRIVATE GROUPS (Hiking/Outdoors)
- Pre-formed groups of friends/family
- Only group members see each other
- Trigger: In-app button
Flare/
βββ src/ # React Native Mobile App
β βββ screens/
β β βββ HomeScreen.js # Main entry with mode selection
β β βββ VictimScreen.js # SOS beacon activation
β β βββ RescuerScreen.js # Radar/scanner view
β β βββ HeatMapScreen.js # 2D heat map navigator
β β βββ ARViewScreen.js # AR camera view
β β βββ SettingsScreen.js # App configuration
β β βββ GroupScreen.js # Private groups
β β βββ ProfessionalModeScreen.js
β βββ services/
β β βββ BluetoothService.js # BLE P2P logic
β β βββ WiFiService.js # WiFi Direct
β β βββ SupabaseService.js # Cloud sync
β β βββ NavigationService.js # Distance/direction calc
β β βββ HeatMapService.js # Obstacle detection
β βββ components/
β β βββ BeaconCard.js # Victim card UI
β β βββ HeatMapCanvas.js # Heat map visualization
β β βββ RadarView.js # Radar screen
β β βββ SignalStrength.js # Signal indicator
β βββ context/
β β βββ AppContext.js # Global state
β β βββ BluetoothContext.js # Bluetooth state
β βββ utils/
β βββ rssiCalculator.js # RSSI β distance
β βββ constants.js # App constants
β
βββ flare_backend/ # Django REST API
βββ api/
β βββ models.py # Data models
β βββ serializers.py # JSON serialization
β βββ views.py # API endpoints
β βββ urls.py # API routes
βββ flare_backend/
β βββ settings.py # Django config
β βββ urls.py # URL routing
βββ requirements.txt
# Navigate to backend
cd flare_backend
# Create virtual environment
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # macOS/Linux
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Run migrations
python manage.py migrate
# Start server
python manage.py runserverAPI available at: http://localhost:8000/api/
# Navigate to mobile app
cd src
# Install dependencies
npm install
# iOS only
cd ios && pod install && cd ..
# Run on Android
npm run android
# Run on iOS
npm run iosSECRET_KEY=your-secret-key
DEBUG=True
DATABASE_URL=postgresql://... # Optional, uses SQLite by default
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-anon-keyUpdate Supabase credentials in src/services/SupabaseService.js
- Bluetooth (Scan, Connect, Advertise)
- Location (Fine)
- WiFi State
- Bluetooth
- Location When In Use
- Camera (for AR view)
- One-tap SOS beacon activation
- Bluetooth LE beacon broadcasting
- Real-time beacon scanning
- RSSI-based distance estimation
- Navigation guidance (hot/cold)
- 2D Heat Map visualization
- Obstacle detection via signal analysis
- Private groups with join codes
- Professional rescuer mode
- Battery priority sorting
- Offline-first architecture
- Cloud sync when available
- AR View (stretch goal - UI ready)
βββββββββββββββ Bluetooth P2P βββββββββββββββ
β Victim ββββββββββββββββββββββΊβ Rescuer β
β Mobile App β β Mobile App β
ββββββββ¬βββββββ ββββββββ¬βββββββ
β β
β (when internet available) β
β β
ββββββββββΊ Supabase βββββββββββββββββ
β
Django REST API
P2P is primary, cloud sync is secondary.
MIT License - see LICENSE file.
Contributions welcome! Please read our contributing guidelines first.
FLARE - Because every second counts in an emergency.