Lifeline 🚨
Why I Built It
The idea for Lifeline came from thinking about what actually happens during an emergency.
When someone is scared or under pressure, even simple things can become difficult. Opening the phone, finding the right contact, writing a message, sharing the location, and then making a call all take extra steps.
So I started thinking:
What if all of that could happen through one intentional emergency action?
That was the starting point for Lifeline.
Lifeline is an Android app that helps the user quickly notify their emergency contacts and start calling for help.
How It Works
The main emergency flow is:
Trigger → Location → SMS → Calls
When the user activates an emergency:
- Lifeline tries to get the current location.
- It prepares an emergency message with the location if available.
- It sends the message to the selected emergency contacts.
- Once the SMS process is completed, it starts the emergency calls.
I also added an Android home-screen widget so the emergency feature can be reached quickly without opening the app first.
I wanted the main flow to stay simple instead of filling the app with unnecessary screens and features.
Building Lifeline
I built Lifeline as a native Android application using Kotlin.
I decided to keep it offline-first and avoid requiring an account or an internet connection for the core emergency flow.
The project includes:
- Emergency trigger and state management
- Location handling
- Emergency contacts
- SMS sending
- Emergency call handling
- Permission setup
- Home-screen widget
- Emergency cancellation
One thing I had to pay special attention to was the order of the emergency actions.
I didn't want the SMS and calls to start independently. The intended behavior is:
Trigger
↓
Get Location
↓
Prepare Message
↓
Send SMS
↓
Start Calls
Built With
- android
- android-app-widgets
- android-location-services
- android-telephony
- jetpack
- kotlin
- smsmanager
Log in or sign up for Devpost to join the conversation.