Hi everyone! ![]()
Recently, an app called “I’m Alive” (or “Am I Dead”) suddenly climbed the charts. The functionality is incredibly simple: you check in daily, and if there’s no activity for a certain period, it automatically emails your family.
espite such simple logic, it charges an $0.99 subscription fee, yet people are flocking to download it. Some say it’s harvesting anxiety; others say it’s a rigid demand for solitary youths.
As a developer who loves to tinker, I looked at its logic and my first reaction was: There is zero technical barrier here. However, there is a very high “psychological barrier.” It represents the sense of security that is most scarce for young people living alone.
Since it has such value, I decided to build one myself. I spent 10 minutes using n8n + iOS Shortcuts to replicate a version where the data is completely private, and the logic is just as rigorous.
This workflow uses iOS Shortcuts to achieve “passive life extension,” leveraging mobile features to report my current location to n8n, fitting the logic perfectly into my habits.
01 The Foundation: n8n Database & Webhook
First, we need a home for the data. I didn’t use a complex external database; I used n8n’s built-in Data Tables. It’s lightweight and easy to use.
1. n8n Database Setup
Create a new Table. We only need to store one single row (ID fixed at 1). Here are the columns:
-
id(Number): Fixed at 1. -
lat(String): Records latitude. -
lon(String): Records longitude. -
device_name(String): Records which device checked in. -
notify(Boolean): Crucial field. Used to record “Has the alert been sent?” to prevent email spamming. Initial value set tofalse. -
(Note:
createdAtandupdatedAtare automatically maintained by n8n)
2. The “Receiver” Flow (Webhook)
-
Webhook Node: Receives POST requests. (I recommend adding authentication for safety).
-
Update Table Node: No matter who sends the message, we only update the row where
id=1.-
Action: Reset
notifystatus tofalse(meaning I am alive, reset the alarm). -
Also update
lat,lon, anddevice_name. (n8n updates the timestamp automatically).
-
-
Respond Node: Returns a message to the phone: “Check-in successful, keep breathing!”
02 Passive Check-in: iOS Shortcuts
With the server ready, the phone needs to report status automatically. I used iOS Automation to make this “passive.”
I set up an automation flow: When I connect or disconnect my charger, the phone automatically extracts the current [Latitude/Longitude + Device Name] and POSTs it to my n8n server.
Once set up, as long as I live my normal life, the system knows I am “alive” without me needing to perform any deliberate operations.
03 The Watchdog: Monitoring Logic
After data reaches the server, I built a complete Monitoring + Alarming system in n8n. It acts like a tireless watchdog guarding my safety status.
1. Regular Patrol
Use a Schedule Trigger node, set to run every hour.
2. Timeout Judgment
Read the data in the Table where id=1 and check updatedAt.
- Core Logic: If
(Current Time - Last Update Time) > 7 Days, it means I have lost contact for some reason.
3. Anti-Spam Logic
To achieve a commercial-grade App experience, the system must not go crazy sending emails. I added a judgment logic:
-
If Timeout AND
notifyisfalse: Send an email containing my [Latest Location] to my family. -
If Timeout AND
notifyistrue: This means an alarm was already sent in the previous hour. Skip silently to avoid disturbing the family. -
(Crucial Step: After sending the email, connect an Update Table node to set
notifytotrue)
04 Final Thoughts
Whether it’s a commercial App or code we write ourselves, fundamentally, it is technology’s warmth towards humans.
In the atomized survival state of big cities, this automated workflow doesn’t require me to do anything special to “prove I’m alive.” It just silently guards the background. It is a backdoor I left for this world, and a hidden promise to my family far away.
Copy My Homework
To make it easy for everyone to get started, I have packaged the entire configuration:
2. iOS Shortcut Template: https://www.icloud.com/shortcuts/e769e9ff9ecf4ddf9c179b2efbfb9a2a
May this workflow forever run solely in the background, and may that email never need to be sent.