DEV Community

wanjiang
wanjiang

Posted on

From n8n Automations to Android: Why I built a "Deadman's Switch" for personal safety ๐Ÿšจ

Hey DEV community! ๐Ÿ‘‹

Some of you might know me from my previous posts about building and sharing n8n workflow automations. I absolutely love connecting APIs and watching data flow seamlessly.

But recently, I took a hard pivot. I shifted my focus from server automation to Android development. Why? Because I realized the most critical "automation" we need isn't for our emails or databasesโ€”it's for our physical safety.

Let me explain.

The Problem with Standard "Panic Buttons"

I was looking into personal safety apps for solo travelers and people walking home late at night. Almost all of them rely on a standard "Panic Button" approach.

Here is the fatal flaw: If you are incapacitated, ambushed, or your phone is out of reach, you cannot press a panic button. As someone obsessed with automation, I thought: Why not automate the cry for help?

The Solution: An Automated "Deadman's Switch"

I spent the last few months building Lifeline SOS, an Android app built around a proactive timer system (essentially a Deadman's Switch).

Here is the "workflow" in real life:

  1. You are about to enter a risky situation (taking a late-night Uber, going on a blind date, walking through a dark alley).
  2. You set a countdown timer in the app (e.g., 30 minutes).
  3. If you are safe, you just tap the screen to cancel it.
  4. If the timer hits zero and you haven't checked in, the app automatically runs a background task to send an SOS message with your live GPS location to your emergency contacts.

The Excalidraw flowchart of how the timer works

Besides the core timer, I also added two features that I found highly requested:

  • A Fake Call Generator: To politely (but urgently) escape uncomfortable situations like bad dates.
  • A Spy Camera Scanner: To find hidden cameras in Airbnbs using the phone's magnetic sensor.

A clean, real screenshot of the app UI

The Technical Pivot (And the struggles)

Transitioning from n8n to native Android was a wild ride. The biggest headache? Background Services and Battery Optimization. Getting an Android device to reliably keep a timer running and fire off an SMS exactly when the timer hits zeroโ€”while the OS is aggressively trying to kill background apps to save batteryโ€”was an absolute nightmare. (If anyone here is an Android background task wizard, Iโ€™d love to hear your architecture tips!)

I Need Your Brutal Honesty (Roast My App) ๐Ÿ”ฅ

I just launched the MVP on Google Play. Since I built this entire project using Flutter, I'm especially curious about how it performs across different native environments. I need real, unfiltered feedback from fellow developers.

  • UX/UI: Is the timer interface intuitive? Or does it look too complex?
  • Performance: How is the Flutter background execution holding up? Does the background timer drain too much battery on your specific Android device?
  • Features: What would make this more robust?

If you have an Android device, I would be incredibly grateful if you could download it, play around with the timer, and let me know what breaks.

๐Ÿ”— [https://play.google.com/store/apps/details?id=com.lifeline.sos]

Thanks for reading, and keep building awesome things! Let me know in the comments if you've ever built something that shifted your entire tech stack, or if you have any secret tips for taming background tasks in Flutter!

Top comments (0)