Inspiration

Fertility patients receive dense lab reports full of clinical jargon and are left to interpret them alone, often months before seeing a specialist again. We wanted to build the companion that should have existed: something that reads the document with you, explains it in plain language, and tells you what to do next.

What it does

Mia is a mobile app that turns a photo of any fertility lab report into a personalized health dashboard. Mistral OCR extracts every biomarker and scores it against WHO 2021 norms. Each result gets an interactive gauge with a plain-language explanation and a global fertility score. The app then generates personalized questions for the next appointment, finds nearby specialists with Doctolib booking links, and connects to wearables (Apple Watch, Oura, Garmin, Whoop) via Thryve to build a lifestyle improvement plan ranked by clinical impact. A persistent AI copilot answers any fertility question with full awareness of the patient's results.

How we built it

React Native (Expo) on the frontend, FastAPI on the backend. Document analysis uses Mistral OCR + a custom parser that maps extracted values to a biomarker schema scored against WHO norms (progressive motility 30%, concentration 20%, total motility 20%, morphology 15%, volume 8%, pH 4%, vitality 3%). The copilot uses mistral-small-latest with full conversation history and analysis context injected. Wearable data comes from the Thryve Health API proxied through the backend. Specialist search uses the OpenStreetMap Overpass API with client-side filtering and Doctolib deep links.

Challenges we ran into

Lab reports have no standard format — getting Mistral OCR to reliably normalize biomarkers across different clinics required significant prompt engineering. The Thryve API uses an undocumented two-layer auth scheme and requires form-encoded payloads rather than JSON (a 415 error that cost us time). Overpass API regex filtering is unreliable for French facility names, so we switched to a broad query with client-side filtering. React Native has no lightweight markdown renderer, so we built one from scratch using regex.

Accomplishments that we're proud of

A fully working end-to-end pipeline, photo to scored dashboard in under 10 seconds. A clinically grounded global score based on real WHO 2021 weighting. Live wearable data flowing from all 5 Thryve-supported devices. A multi-conversation AI copilot with persistent history. Everything running on a real phone.

What we learned

Mistral OCR handles messy real-world medical documents better than expected. Wearable APIs are far more complex than their documentation suggests. In health tech, the hardest problem isn't the AI — it's trust: how you display a score or phrase an explanation carries real weight when the user is anxious. And scope ruthlessly — we cut several features mid-hackathon to ship something cohesive.

What's next for Fertility Companion

Female fertility panels (AMH, FSH, hormonal reports). Longitudinal tracking to measure improvement across multiple lab reports over time. LLM synthesis combining wearable biometrics and lab results for cross-signal insights. A doctor-facing dashboard for specialist annotations. IVF protocol support with medication reminders and cycle calendar.

Built With

Share this project:

Updates