ZIRS Core
Zero Interaction Rescue
Production Android blueprint + live OS simulation
ZERO INTERACTION RESCUE SYSTEM
Recovery-based emergency validation. The system waits for abnormal threshold crossing, no recovery, and stable 2–3 second persistence before escalation.
Secure operator authentication
Cloud sync, emergency logs, and status tracking require an authenticated rescue operator.
Emergency Contacts
Emergency Numbers
Emergency SMS Preview
“Emergency! I need help. Location shared.”
Prerecorded Voice Preview
“This is an emergency. Please assist.”
Real Android integration stack
sensors_plus: accelerometer and gyroscope foreground/background streams
geolocator: GPS rescue packets with battery-aware refresh cadence
telephony: dynamic SMS escalation queue and delivery status tracking
flutter_phone_direct_caller: staged C1-C5 call loop in 2 cycles
torch_light: visibility beacon activation after validated trigger
audioplayers: siren loop and prerecorded voice playback
flutter_background_service: silent monitoring after cancel/manual stop
speech_to_text: help keyword, repetition, and stress spike recognition
Firebase/Supabase: users, contacts, sensor_streams, emergency_logs, call_sms_status, offline_queue
Provider/BLoC: live rescue state, background retry state, and cloud sync automation
Production Flutter project structure
This hosted preview cannot compile native Flutter/Android code, but the implementation map below is the production module layout for the requested app.
android/app/src/main/AndroidManifest.xml: ACTIVITY_RECOGNITION, BODY_SENSORS, RECORD_AUDIO, ACCESS_FINE_LOCATION, CALL_PHONE, SEND_SMS, CAMERA flashlight, foreground service permissions
lib/services/sensor_fusion_service.dart: accelerometer + gyroscope + proximity + touch + mic + GPS + battery + network fusion
lib/core/recovery_validator.dart: abnormal event + no recovery + stable persistence for 2-3 seconds
lib/services/background_rescue_service.dart: flutter_background_service isolate, retry queue, low-battery policy
lib/services/escalation_service.dart: C1-C5 two-cycle caller, SMS/GPS dispatcher, voice, siren, torch, emergency 100/108 gating
lib/repositories/emergency_repository.dart: local storage first, Firebase/Supabase cloud sync, offline queue replay
lib/bloc/zirs_bloc.dart: authenticated operator session, trigger lifecycle, cancel window, activation, silent watch
database/schema.sql: contacts, profiles, emergency_logs, sensor_streams, call_sms_status, offline_queue tables with RLS policies
Database schema preview
profiles(id, email, role) contacts(id, user_id, label, phone, priority) emergency_logs(id, user_id, trigger_type, validated, gps, battery, network, created_at) sensor_streams(id, log_id, accelerometer, gyroscope, mic_amp, proximity, touch, recovery, stability) call_sms_status(id, log_id, target, channel, status, retry_count) offline_queue(id, user_id, payload, retry_after, synced)