← ALL PROJECTS
P-022026Mobile / Backend

BIOHACKK JOURNEY APP

A full-stack mobile health platform: Singpass and Google OAuth, realtime bidirectional sync across four-plus biometric sources — Apple HealthKit, Omron, smart scales and Visbody body scans — and a phase-aware daily protocol with food, sleep, mood and vitals journaling on top. The Supabase and GCP pipelines behind it ingest 10,000+ readings a day; reworking the schemas and query paths took API responses from 3s to 500ms.

-83%
API RESPONSE
10,000+
READINGS / DAY
4+
BIOMETRIC SOURCES
/ CAPTURES
Full-length captures of the three core screens: the phase-aware home dashboard with macro rings and water, sleep and mood cards; the calorie log broken down by breakfast, lunch and dinner; and the weight view with progress chart, weight-change table, progress photos, weekly energy chart and BMI band.THE DAILY LOOP, END TO END
Onboarding screens: the generated custom plan with calorie and weight goals, a projected weight curve against a traditional diet, and the calorie-tracking explainer.ONBOARDING — GENERATED PLAN
The streak screen with a weekly calendar and streak milestones, and the mood journal with an emotion picker, activity tags and a focus-and-energy chart.STREAKS + MOOD JOURNAL

The client companion app for a medically-supervised health-transformation programme. Clients follow a five-phase fat-loss and cellular-cleanse protocol, and the app's whole job is to make that protocol survive contact with a real week: know which phase you're in, know what today asks of you, and capture the evidence without it feeling like data entry.

The problem

The programme used to live in a printed manual. A protocol that spans five back-to-back phases — a one-day feast, a 7-to-28-day cleanse the client chooses the length of, then transition, maintenance and open-ended sustainability — asks a lot of someone reading a PDF. Adherence dies in the gap between what the plan says and what you can remember at 7am on day nine.

Approach

  • Secure auth via Singpass and Google OAuth, with state, nonce and token validation end to end — a health record is not something you protect casually.
  • A phase engine as the spine: the schedule derives from a start date and the client's chosen phase-two duration, so every screen can answer 'what does today look like' without the client tracking dates themselves.
  • Realtime bidirectional sync across four-plus biometric sources — Apple HealthKit plus native BLE modules for Lefu, Omron, Senssun and Yolanda scales — so readings flow from whichever device the client already owns, and writes flow back.
  • A NestJS service for what the phone can't do: Visbody body-scan ingestion, gamification and insights.
  • AI-generated nutrition plans at onboarding and AI meal analysis (OCR + LLMs) day to day, so the plan is theirs rather than a generic template.
  • Streaks, quests, milestones and leaderboards on top — a protocol only works if the client is still running it in week three.

Making it fast

The pipelines take in over 10,000 health readings a day, and the first version showed it: dashboard calls sat around three seconds, which is long enough that a client stops opening the app. Reworking the Supabase schemas around the access patterns the app actually has — user metrics, streaks, leaderboards, health tracking — and fixing the query paths feeding them brought responses down to roughly 500ms, an 83% cut.

Results

34 screens, 130 components and 67 services across the app, against a 35-table schema, shipping to both iOS and Android from one Expo codebase. The printed manual became something a client actually runs day by day.

/ STACK
React NativeExpoTypeScriptSupabaseGCPNestJSHealthKit