Inspiration

Every 3 minutes, someone in Africa dies from a preventable emergency because help didn’t arrive in time. Lagos alone has 15 million people — but emergency services are fragmented, underfunded, and hard to reach.

I built AKEL Panic Button after watching a family member struggle to get medical help during a crisis. The phone calls failed. The addresses were wrong. Nobody knew what to do.

I asked myself: What if your phone could be your emergency command center — with AI that thinks, speaks, and acts for you in your worst moment?

What it does

AKEL Panic Button is an AI-powered emergency response app for Android. When a user presses the panic button, the app simultaneously calls emergency contacts via Twilio Voice, shares live GPS location, and activates Doctor Annie — an AI medical agent that speaks first aid instructions aloud using Google Cloud Text-to-Speech.

Doctor Annie analyzes symptoms through conversation, reads uploaded medical test images using Qwen Vision AI, and generates spoken diagnoses in real time. All generated audio is uploaded to Backblaze B2 as permanent medical evidence, tagged by session, urgency level, and user ID — then linked in Firebase Firestore so paramedics and family members can retrieve the full audio record instantly.

10 specialized AI agents work together: Guardian Engine monitors daily behavior patterns, Location Memory Agent tracks safe zones, Evidence Agent captures timestamped proof, and the Master Coordinator orchestrates everything during a live emergency.

How we built it

Frontend: Flutter (Dart) — single codebase for Android

AI Layer: Alibaba Qwen API — powers all 10 agents (chat, vision, multi-agent routing, memory storage)

Voice: Google Cloud Text-to-Speech — Doctor Annie speaks diagnoses aloud; Speech-to-Text for hands-free input during emergencies

Communications: Twilio Voice API — automated emergency calls to contacts with live GPS embedded in the message

Backend: Firebase Firestore (database), Firebase Auth (user identity), Firebase Cloud Messaging (push alerts)

Storage: Backblaze B2 — stores all Doctor Annie TTS audio files, emergency evidence recordings, and medical session bundles

Flutter app → Qwen AI generates response → Google TTS converts to MP3 → B2 upload (bucket: akel-emergency-audio) → Signed URL stored in Firestore → Contacts receive retrieval link

Subscriptions: RevenueCat — 5-tier plans (Free / Pro ₦7,499 / Family ₦14,999 / Corporate ₦36,999 / Enterprise custom)

Challenges we ran into

Challenge 1: Real-time audio in low-bandwidth environments

Nigeria’s mobile data is often 2G/3G in emergencies. We solved this by compressing Doctor Annie’s TTS output to 64kbps MP3 before B2 upload, reducing file size by 60% while maintaining voice clarity.

Challenge 2: Privacy for medical audio

Emergency audio contains sensitive health information. We implemented:

• B2 private buckets (no public access)
• Signed URLs with 24-hour expiry
• Firebase Auth token verification before any B2 URL is served
• Automatic deletion policy after 90 days

Challenge 3: Offline fallback

If B2 upload fails mid-emergency, AKEL queues the audio locally and retries via exponential backoff when connectivity returns — ensuring no evidence is ever lost.

Accomplishments that we're proud of

• Built 10 functional AI agents that communicate and hand off tasks to each other during a live emergency — all running on a single Qwen API integration • Doctor Annie can analyze medical test result images (blood work, X-rays, prescriptions) and speak findings aloud — a first for emergency apps in Africa • Designed a storage architecture using Backblaze B2 that keeps emergency audio costs under $0.006/GB — making the app viable at African market price points • Achieved sub-500ms audio retrieval by pre-caching common first aid responses (burns, choking, chest pain) in B2 • Built a fully working panic-to-call pipeline in under 3 seconds: button press → AI assessment → Twilio call → GPS share → B2 audio record • Serving users across Nigeria, Ghana, and Kenya with offline queue fallback when B2 upload fails mid-emergency

What we learned

• AI audio is medical evidence — Doctor Annie’s recordings are not just helpful, they are legal documentation that families and hospitals need after an incident. Storage reliability is not optional. • Cost is a product feature — At $0.006/GB, Backblaze B2 is the only storage option that keeps AKEL profitable at ₦7,499/month subscriptions in African markets. AWS S3 would price us out of our own target users. • Emergencies expose every weakness — Low bandwidth, no internet, shaking hands, locked screens. Every feature had to be rebuilt with worst-case scenarios as the primary use case. • Multi-agent sessions need structured storage — When Doctor Annie, Evidence Agent, and Location Agent are all active in one emergency, you need session-tagged B2 bundles — not loose files — so the entire incident is retrievable as one package. • Privacy in healthcare is non-negotiable — We implemented private B2 buckets, 24-hour signed URLs, and Firebase Auth token verification before any medical audio is served. Trust is the product.

What's next for AKEL PANIC BUTTON

• Gemini Vision integration — Adding Google Gemini as a second AI layer for medical image analysis alongside Qwen, giving Doctor Annie cross-model accuracy validation • B2 video evidence storage — Guardian Engine currently captures photos; next milestone is video recording uploaded directly to Backblaze B2 during active incidents • Hospital API integration — Sending Doctor Annie’s B2 audio bundles directly to Lagos University Teaching Hospital (LUTH) and other partner hospitals before the ambulance arrives • Wearable panic trigger — Bluetooth button (under $5) that triggers AKEL without touching the phone — critical for assault and seizure scenarios • Expanding to 5 countries — Nigeria → Ghana → Kenya → South Africa → Egypt, targeting 500,000 users by end of 2027 • AI dispatch center — Full CAD (Computer-Aided Dispatch) system where AKEL coordinates between users, responders, and hospitals automatically using the Master Coordinator agent

Built With

Share this project:

Updates

Submission history