Health Optimisation Platform
Blood panels, DNA, DEXA scans and wearable data all say something different about a person's health. This app reconciles them into one score, then uses AI to explain what actually matters.
- Role
- Full-stack build + AI features
- Client
- AU health-tech company
- Platform
- Web app (live)
- Tools
- React, Node/Express, MongoDB, Firebase
An illustrated recreation of the product, not real screenshots. This is an NDA client engagement: the screens follow the real layout so the work is legible, while every name, number and record shown here is invented.
Four data sources, zero shared language.
A blood panel reports dozens of markers in clinical units. A DNA test flags genetic risk variants. A DEXA scan returns body-composition percentages from whatever vendor scanned it. A wearable streams HRV and sleep every night. None of these speak to each other, and none of them alone tells a person whether they're actually getting healthier.
DEXA reports in particular come from a dozen different scanner vendors, each with its own PDF layout, its own units, and its own way of cropping the body-composition chart. There was no clean API to normalise against: just PDFs.
One score. Explainable, not a black box.
The brief was a single "longevity score" that reconciles all four sources with correct unit conversions and per-report transparency, plus AI reasoning that connects findings across domains instead of listing them as separate cards.
Turning lab PDFs into structured, comparable data.
Blood panels get parsed into discrete markers and flagged against optimal ranges. DNA results resolve into named risk variants. DEXA reports are auto-cropped from the source PDF by inspecting its operator list rather than hardcoding scanner templates, then scored against reference percentiles instead of a fixed cutoff.
Reconciling four sources into one number.
The longevity score sits on top of a domain model: cardiovascular, metabolic, vitals & fitness, inflammation, organ, body composition. Each domain pulls from whichever sources have data for it, converts units where needed, and rolls up into both an overall score and a biological age estimate versus chronological age.
The bio-age panel only claims "high confidence" once all domains have data. Partial data still produces a score, but the UI is explicit about how much of the picture is missing, instead of presenting an incomplete estimate as gospel.
Cross-domain insight, not a wall of numbers.
The distinguishing feature isn't the score, it's what connects to what. The AI layer looks across domains at once and surfaces compounding risk (two elevated markers that share a mechanism), not just per-marker flags, then generates a personalised meal, training and supplement plan from the same underlying data.
The same reasoning, in your pocket.
The score, the domain breakdown, and the AI insight feed are all available on mobile, reflowed rather than shrunk down.
Fix, deploy, verify, then report.
Shipped under a "Test & Execute" loop: every fix deploys to the live environment and gets self-verified end-to-end via Playwright with a screenshot confirmation, before it's reported as done. No "should be fixed now" without proof.
Live, in production.
The scoring engine, the DEXA ingestion pipeline, and the AI insights layer are all live and running against real client data.