Seren
A physiological intelligence platform for shift workers: wearable heart data, shift tracking and an AI assistant, on web, iOS and Android.
- Role
- Full Stack Developer, part-time
- Company
- Code4 Pro
- Period
- Mar 2026 – now
- Links
- serenpro.ai
Seren helps people in high-pressure shift work see strain building before it shows in their work. Workers wear a Garmin strap or watch; Seren turns every heartbeat into per-minute heart-rate variability and stress, labels each minute with a machine-learning model, and shows it next to how they said each shift went. Admins see their team's calendars and trends, and each person can ask an AI assistant about their own data. A team of four engineers builds it; I work across the database, the API, the web app and the mobile apps, with 47 pull requests merged since March 2026.
What Seren does
Workers wear a Garmin chest strap or watch. The app streams every heartbeat to the server, which computes heart-rate variability and a stress score for each minute. Beats that are erratic or missing are filtered out instead of producing a wrong number.
A machine-learning model labels each minute of the day as Regulated, Engaged, Compensating or Saturated, so a person can see when load turned into strain.
Workers log each shift with a short check-in and check-out: sleep, readiness, expected and actual demand, mood and caffeine. Seren shows those answers next to what the body did during the shift.
Org-admins see their team's calendars and trends. Each person also has Seren, an AI assistant that answers questions about their own data.
Shift tracking, end to end
I designed the check-in and check-out backend in Postgres and the REST API. A partial unique index allows only one open shift per user, so a double tap or a flaky network cannot create two shifts.
On mobile I built the shift screens, ratings, shift types and work locations. While a shift is running, the timer stays on the lock screen: a Live Activity on iOS and an ongoing notification on Android.
Failing clearly instead of spinning
When the phone was offline or the server was down, actions used to spin forever. I moved API error handling into one shared hooks layer for web and mobile, so server actions now fail with an error within 15 seconds instead of spinning.
Sign-in that survives company email
Corporate email scanners open links before the user does, which used up one-time sign-in links. The email now opens a page with a button, and only the button press signs the user in. Invite, reset and sign-in emails open straight in the iOS or Android app through Universal Links and App Links.
I also ran a security review of authentication and access control, and fixed or filed each finding.
Data that matches the person
I built the first daily heart-rate rollup table and API behind the calendar. Admins can pick the timezone a user's days are shown in. Sleep schedules are sent to the user's Garmin devices, replacing a fixed 22:00 to 07:00 window that was wrong for anyone on nights.
I also built the chat interface for the AI assistant on mobile, and made every web page work down to 320 px wide.