
LIFELiNK
LIFELiNK connects people in need with nearby helpers, using technology and Web3 to protect lives.
Demo
About
This is an AI-powered emergency assistance service that starts with a single press of an SOS button. In an emergency, you may not have time to take out your phone, unlock it, open an app, and call the police. With this service, you can simply press an SOS button on your phone or a keychain device to start the emergency response. The AI automatically identifies the nearest police station and calls for help, providing your precise address, GPS coordinates, verified identity, and real-time information about the situation. At the same time, your family and friends can follow what is happening through Discord, including your live location, the AI-police call, and live audio from the scene. If necessary, they can also contact the police directly. The service uses World to verify that each account belongs to a real person, helping reduce false reports and misuse. One press connects you to AI, the police, and the people you trust—when every second matters. ◾️Why We Created LIFELiNK There are two main reasons why we created LIFELiNK. ・The first reason is simple. We want to use technology to save more lives. Every day, crimes and accidents happen around the world. In some cases, a faster response could save a life. So we asked ourselves Can technology connect people who need help with people nearby who can help? And can we do it faster? That idea became LIFELiNK. LIFELiNK is more than just a safety product. In daily life, it gives people peace of mind. In an emergency, it connects people quickly and helps turn that connection into real action. We use different technologies to make this possible. ・The second reason is Web3. We want Web3 to be something everyone can use. Today, many people still think crypto and Web3 are difficult, scary, or untrustworthy. Because of this, it is difficult to ask people to use crypto for payments or financial services. So we changed the approach. We don't ask people to use LIFELiNK because of Web3. We give people a reason to use LIFELiNK to protect themselves and the people they care about. To protect yourself. To protect your family. To protect the people you care about. And by using LIFELiNK, people naturally experience Web3. That is the gateway we want to create. Through LIFELiNK, we want to show that Web3, including WORLD, is not only about speculation or payments. It can also be used to solve real-world problems. “Protecting people” is the gateway. Web3 becomes part of everyday life. That is why we created LIFELiNK.
How it's made
Full technical details: https://github.com/rtree/LIFELiNK#readme Android app — the control center We built the native Android app with Kotlin and Jetpack Compose. It monitors a linked iBeacon SOS button and can initiate the SOS flow while the phone is locked on our tested setup. The app sends available location and device information to a TypeScript/Fastify backend on Google Cloud Run, which writes to Firestore. Discord replies and call transcripts are stored against the same emergency event, while the app subscribes to Firestore for its live feed. For this prototype, persisted and spoken location is limited to prefecture level rather than raw GPS coordinates. The most unusual engineering work was connecting the app’s data session to an ordinary phone call. The backend creates an emergency event and issues a short-lived, single-use six-digit code. Android automatically sends that code as DTMF tones when dialing the Twilio AI number. The backend validates it and binds the incoming call to the correct Firestore event, allowing the AI to load the corresponding context. With the user’s permission, LIFELiNK becomes the default Android phone app. Using Android Telecom and InCallService, it calls the AI number, calls the registered contact, and merges both legs into a carrier-provided three-way conference—not a Twilio Conference. This lets the phone’s microphone carry nearby audio to both the AI and the contact while the screen remains locked. Instead of trying to bypass Android’s background recording restrictions, we made the AI a participant in a normal phone call. We verified this flow on a real Samsung device using SoftBank; compatibility depends on the device and carrier. Physical SOS button — connectionless BLE The button broadcasts iBeacon advertisements. During setup, the app links the button by identifying its advertisement identifiers rather than establishing a Bluetooth bond or maintaining a GATT connection. This avoids a reconnection handshake after the button has been out of range. We tuned advertisement duration and duplicate-trigger suppression through locked-screen testing to accommodate Android’s BLE scan throttling. AI and Discord — live context during the call Our Cloud Run backend bridges Twilio’s bidirectional Media Streams and the OpenAI Realtime API over WebSockets. Both sides use G.711 μ-law audio at 8 kHz, avoiding an extra transcoding step. The AI starts with context loaded from Firestore. As new app updates and friends’ Discord replies arrive, the backend persists them and injects them into the active AI conversation. Call transcripts also flow back to Discord, allowing trusted people to contribute without installing our app. One practical fix was queuing context updates until the AI finished its current response, preventing overlapping response requests from disrupting the conversation. World ID — a human-verification gate before SOS We integrated World ID 4 through IDKit Core alongside Firebase Authentication. Google login identifies the app account; World ID provides Proof of Human. Our backend signs verification requests, verifies proofs server-side, binds the nullifier to the Firebase account, and checks a verified-human claim before creating an SOS event or enabling calls. World ID gives us a privacy-preserving way to reduce multi-account abuse of paid telephony and AI resources without collecting legal identity documents ourselves. It verifies humanity—not whether an emergency is genuine. The current prototype contacts pre-registered trusted people and is not a replacement for official emergency services.