-
-
Rules page
-
Rules page with a rule selected
-
Dashboard page
-
Senior profile page - top view
-
Alerts page
-
Roster page
-
Senior profile page - bottom view
-
Phone devices panel
-
Phone medication panel
-
Phone alerts
-
Phone - main dashboard
-
Apple Watch - Main UI
-
Apple Watch - Main UI Cont 1
-
Apple Watch - Main UI Cont 2
-
Apple Watch - Configurations
-
Apple Watch - Profile Configurations
Inspiration
Oleks’s grandma struggles with heart issues that can cause fainting. Multiple times, she has fallen or fainted, and the family only found out a day later through a phone call. That kind of delay is unacceptable, especially when smartwatches are already widely used and capable of tracking important biometric and fall data.
Seniors and their caretakers should not have to rely on someone noticing too late, and we wanted to make those moments visible in real time. As we expanded on this idea, ELSA turned into a broader safety and care system that connects wearable data, alerts, and caregiver oversight in one place.
What it does
ELSA is an elder-living safety assistant that turns Apple Watch health and motion signals into actionable care alerts for families and caregivers. It monitors seniors for fall risk, instability events, heart-rate changes, watch connectivity, location updates, and missed medications, then surfaces the most urgent situations in both a live web dashboard for monitoring the elderly in a care home, and a separate individual-focused mobile app for cases where someone wants to personally watch over an elderly loved one or be updated on the care of a loved one at a facility using ELSA.
In the multi-patient web dashboard, caregivers can view a full roster of seniors, see who is stable, offline, or needs attention, drill into individual profiles with fall-risk trends and medication schedules, and create custom monitoring rules like “alert if fall-risk score is high” or “alert if heart rate crosses a threshold.” When something needs follow-up, ELSA generates clear next steps and can route notifications by text message, helping caregivers respond faster without constantly checking in manually.
How we built it
There are a few components to ELSA. The most important is the ingestion pipeline of smart-watch biometric data to a centralized data store. We knew right away that biometric data is PII and should be handled with care. As such, we actually do a lot of calculation on edge within the watch itself. What flows to the server isn't raw data, but deductions from this data, which is sampled at 50 times a second. The actual deductions flow once every 3 seconds.
The pipeline itself is done through a simple HTTPS webhook, although in the future, something like SQS might be preferable ;). We only had 13 hours! The watch sends push notifications to the Vercel webhook, and the webhook writes this data to a Postgres Supabase table.
On the server side, most of the server work is logic-centered around our custom user-created rules. We have a rules engine that applies these to create alerts. If we had more time, event-based or cron-invoked compute could be used for this (SNS -> Lambda?), but we just use Vercel serverless compute.
The actual mobile app and desktop apps are written in React Native and NextJS, respectively. All logic is based around the centralized data store, with some light NextJS server actions for back-end logic where that's needed. Real-time updates are done through polling the database. This ended up working pretty good latency wise. For SMS push notifications, we used Twilio.
The actual Apple Watch app is written in Swift. It handles the super-fast calculations pretty well, and we were able to create a surprisingly nice UI with it, too. Note that we knew ZERO swift before this. Thanks Kiro (and Claude)!
Challenges we ran into
The dev experience on the Apple Watch was terrible. This could have singlehandedly stopped us from building out this project, as we spent the first 3 hours of the hackathon figuring out how to connect Saba's Apple Watch to XCode, build the app in XCode and port it to the watch. Apple's documentation is outdated, and LLMs loved to hallucinate with the code. This took a lot of trial and error and digging through forums.
Accomplishments that we're proud of
We built three separate and fairly complex pieces of software that coordinate together and run on 3 device types, all in 13 hours. We're extremely proud of being able to pull this off and working together well enough to do this.
What we learned
We learned that wearable health data becomes much more useful when it is turned into context, not just displayed as numbers. A fall-risk score, heart-rate spike, or missed medication only matters if a caregiver can understand what happened, how urgent it is, and what to do next.
We also learned how important it is to design around privacy from the beginning. Instead of streaming raw 50 Hz motion data to the server, we moved much of the processing onto the watch and only sent derived safety signals. That made the system feel more responsible and more realistic for healthcare use.
On the technical side, we learned a lot about building across three very different platforms: Swift/watchOS, React Native, and Next.js. Each had different constraints, but using Supabase as a shared source of truth helped everything stay coordinated. We also learned that simple infrastructure can go surprisingly far in a hackathon setting!
What's next for ELSA
Next, we want to focus much more deeply on detection. The rules-based engine to turn watch signals into alerts worked well for a hackathon prototype, but we are not convinced that rules alone are the right long-term approach. This is a messy human problem, and it might make sense to train a real machine learning model on real-world wearable data. We would want to compare it against our current rules engine, measure false positives and false negatives, and eventually build a system that would probably be some mix of the two.
We also want to upgrade the infrastructure behind ELSA. The current webhook-based pipeline was fast to build, but a production system should use durable event processing. That would likely mean moving toward SQS/DLQ queues, Lambda workers for compute, all that nice AWS stuff....
Finally, we would love to pilot ELSA with a senior home or assisted living facility. That would help us understand how caregivers actually respond to alerts, what information they need in the moment, and whether our detection system works outside of a controlled demo with Saba stumbling around. A real pilot would be the best way to improve both the technology and the care workflow around it.
Built With
- apple-watch
- core-location
- coremotion
- expo.io
- healthkit
- next.js
- openstreetmap
- postgresql
- react
- react-native
- supabase
- swift
- twilio
- typescript
- vercel
- vercel-serverless-functions
- watchos
- xcode
Log in or sign up for Devpost to join the conversation.