Sleep Tracking (ExceedSleep)
Mobile-first sleep wellness platform with Expo React Native, sleep-event detection, Node/Express API, React admin panel, analytics, audio storage, and subscription support.
Project brief
Inside the build.
Sleep Tracking (ExceedSleep) is a full-stack sleep wellness platform built around a mobile sleep recorder, on-device sleep-event detection, a Node/Express API, and a React admin dashboard.
The system helps users start overnight sessions, capture meaningful audio events, review sleep quality, and use curated sounds and mixes as part of their sleep routine.
- Client
- Confidential
- Delivery role
- Full-Stack Developer
- Discipline
- Mobile
- Project status
- Archived
Visual showcase
The product, frame by frame.
Explore 15 additional public screens from the delivery.
Challenge & response
Turning constraints into a working system.
The challenge
The product needed to feel like a mobile sleep app first, while still supporting a complex backend for sessions, audio uploads, analytics, protected media, subscriptions, and admin operations.
Sleep recording also required careful handling of short audio chunks, noise filtering, event labels, very short sessions, local cleanup, and long-running auth stability on mobile devices.
The response
I structured the project into separate mobile, API, admin web, and AI areas so each part could evolve independently while sharing one product workflow.
The mobile app records short audio chunks during a sleep session, classifies useful events, uploads event metadata and audio to the API, and displays sleep score, stage timeline, and event history in the insights screen.
The backend stores sessions and events in PostgreSQL, supports Redis-backed auth flows, handles local or S3 media storage, and exposes admin routes for users, content, analytics, billing plans, and subscribers.
Product capabilities
What the delivery makes possible.
Each capability connects a product requirement to something people can use.
Mobile sleep recorder
Expo React Native app for starting and ending sleep sessions, recording audio chunks, keeping the session active, processing local audio, and cleaning old cached files.
Sleep-event detection
TensorFlow Lite based detection pipeline for sleep-related labels such as snore, cough, speech, sneeze, sniff, laughter, music, silence, unknown, and noise.
Session analytics
Sleep APIs produce session summaries, event breakdowns, daily analytics, dominant label share, latest graph data, and latest score data.
Sleep score and stage timeline
Backend services convert recorded events, duration, sound intensity, and session timing into a readable sleep quality score and per-minute stage timeline.
Audio storage and playback
Detected event clips can be uploaded with metadata and stored locally or in S3, with protected streaming for authorized users.
Sound library and mixes
Users can browse sounds, favorites, recommended content, categories, sub-categories, player screens, and personal sleep mixes.
Admin operations
React/Vite admin dashboard for users, sound uploads, categories, mixes, sleep sessions, analytics, billing plans, subscribers, and subscription analytics.
Auth and subscriptions
OTP signup, login, Google auth, refresh tokens, role-based access, IAP confirmation, entitlement checks, and optional Stripe/RevenueCat subscription support.
System architecture
A connected delivery, not isolated features.
A user starts a sleep session in the Expo mobile app. The app records short chunks, filters low-value audio, runs detection logic, and uploads meaningful events with labels, timestamps, duration, decibel level, and audio files.
The Express API validates auth, stores event records in PostgreSQL, saves media through local storage or S3, deduplicates nearby events, and returns analytics responses to the mobile insights screen.
The React admin panel consumes the same API surface for operational workflows such as content management, user review, session analytics, billing plans, and subscriber monitoring.
Delivered impact
What changed after the build.
Delivered a complete mobile-first sleep tracking product with supporting backend, admin, and AI model components.
Connected audio recording, event detection, sleep scoring, analytics, protected audio playback, and admin review into one workflow.
Gave non-technical admins a dashboard for managing content, users, sessions, and subscriptions without direct database access.
Built with
A stack selected for the work.
- Expo
- React Native
- TypeScript
- Expo Router
- Redux Toolkit
- RTK Query
- Expo AV
- React Native Fast TFLite
- TensorFlow Lite
- Node.js
- Express 5
- PostgreSQL
- Redis
- JWT Authentication
- AWS S3
- Multer
- Nodemailer
- Stripe
- RevenueCat
- React
- Vite
- TailwindCSS
- TanStack Table
- Recharts
- Python
Continue exploring
Next case study Web1016 Visualizer
View projectStart a conversation
Have a product challenge worth solving?
Tell us what needs to change, what already exists, and where the product needs to go next.
Discuss your project