Inspiration

I was diagnosed with PCOS (now PMOS) when I was 14.

I remember sitting in that appointment not understanding half of what the doctor was saying: phenotypes, insulin resistance, androgens, metabolic imbalance and walking out with a pamphlet and no real idea what to actually do with any of it. No one sat me down and explained why my skin was breaking out, why my periods were unpredictable, or why I felt exhausted for no reason I could point to. I was just told "you have PCOS" and left to figure out the rest on my own, at 14, with Google. And same is the experience for many women. There is no fixed path, no "cure" for what we have and no one place to find all the information.

Over the year my team and i kept researching: piecing together studies, clinical guidelines, forum posts from other women; because the information that actually explained someone's PCOS was always scattered across a dozen different sources, never in one place, never personalized. Along the way we met people who have PCOs and learned something that stuck with us: globally, 1 in 10 women of reproductive age has PCOS but in India, it's closer to 1 in 5. Nearly double the global rate. And yet almost every app that exists which supossedly tried treating PCOS like generic period tracking, as if hirsutism, hair loss and insulin resistance weren't part of the picture at all.

That gap between how common and serious PCOS actually is, especially here in India and how little personalized support exists for it- is exactly what Cyster is built to close.

We wanted to build something that treats PCOS the way an endocrinologist would: by phenotype and personalising the experience, not just by symptom checklist.

What it does

Cyster is a full PCOS companion app built natively for iPhone in UIKit:

  • Phenotype-aware goal engine — using the Mifflin-St Jeor BMR formula, activity level, and PCOS phenotype (Rotterdam criteria / ESHRE 2023), Cyster generates personalized diet, workout, and sleep targets instead of generic averages. In case the user does not know their phenotype, they can get to know it by continous logging and the more someone logs the more personalized the whole app becomes. The user can find out their phenotype by the chatbot built in our app.
  • Symptom & cycle tracking — beyond period dates and cycles, Cyster tracks PCOS-specific signals (hirsutism, skin darkening, mood swings, hair loss) with educational cards explaining why they happen, what hormones might be coming into play and how to handle the symptom.
  • AI Coach ("Cyster") — a conversational assistant that gives phase-aware recommendations (e.g. adjusting workout intensity and diet suggestions based on where you are in your cycle). It has input of all the logged data and based on that gives you personalized goals for your system and lifestyle.
  • AI food logging — type "rice and one bowl curd" and Cyster parses it into calories and macros automatically. You can also take a photo of your meal and our AI would estimate the calories and macros. If not these two, manual entry exists as well.
  • Phase-linked workouts — routines and intensity caps that respect your phenotype (e.g. capping workout duration for adrenal-dominant phenotypes to avoid cortisol spikes).

How we built it

Cyster is an AI-powered mobile health application built with UIKit and Core Data on iOS, with AI capabilities offloaded to a cloud backend for a scalable, cross-platform architecture. The backend is implemented using Python/FastAPI and deployed as independent services on Google Cloud Run. Firebase Authentication provides user identity and JWT-based authorization, while the backend exposes authenticated APIs for AI inference, data backup, and synchronization. AI workloads including conversational coaching, personalized recommendations, meal image analysis, and natural-language meal parsing are processed through Google Vertex AI/Gemini, allowing models and inference configuration to evolve without requiring mobile-app releases. RevenueCat manages subscriptions, entitlements, offerings, and in-app purchase state across the mobile platform. The architecture uses Google Cloud Build, Artifact Registry, and Secret Manager for CI/CD, container management, and secure configuration. iOS maintains local data through Core Data, while the backend provides the cloud synchronization layer, with the architecture designed to support Android and future RAG/vector-storage capabilities.

Challenges we ran into

  • In the earlier stages of development we were planning on making the app work offline as well so getting an on-device vision model small enough to ship in-app while still being accurate, however our first version struggled badly with Indian food names (returning "curry" for dal, "sandwich" for Vada Pav). We solved this by having the model describe the food in plain language first, then keyword-matching that description against a curated food database, rather than asking it to name the dish directly. We later moved to API's.
  • Translating messy clinical research (Rotterdam criteria, ESHRE 2023 guidelines) into a deterministic goal engine that a non-clinician could trust and understand.
  • Taming a hallucinating, repetitive coach. Early on, Cyster's AI coach would invent nutrition claims or loop the same suggestions across sessions. We fixed this by grounding every response in structured context (the user's actual GoalEngine output, phase, and recent logs) rather than open-ended prompting, and added recency-aware prompt constraints so it doesn't repeat a recommendation it already gave.

Accomplishments that we're proud of

We're most proud of the accuracy we achieved across Cyster's three hardest technical problems: meal scanning that correctly recognizes Indian food (not just generic labels), period prediction that adapts to the irregular cycles PCOS causes rather than assuming a textbook 28-day cycle, and phenotype/phase detection that actually reflects clinical criteria instead of a generic symptom checklist. It also detected a menopausal user based on symptoms. Getting each of these right and grounded in real research is what makes Cyster feel personalized rather than just another tracker.

What we learned

Building a user-facing health app taught us how to turn a genuinely holistic problem into something personal and actionable, without oversimplifying it. It's tempting to think of an app as one core feature, but Cyster really lives across three interconnected phases logging, understanding, and maintaining-and each one had to be built and validated with equal care for the product to actually work. We also learned the discipline of keeping every recommendation grounded in real clinical research rather than letting an AI assistant improvise, which shaped almost every decision we made about prompting and data design.

What's next for Cyster

  • Onboarding doctors and field technicians, so Cyster can plug into real clinical workflows, not just individual self-tracking.
  • Online diagnosis and consulting, connecting users directly with specialists — for example, routing patients experiencing fertility difficulties to fertility specialists, so Cyster becomes a bridge to expert care, not a replacement for it.
  • Expanding to related disorders like endometriosis and hypothyroidism, where the same phenotype-aware, phase-driven approach applies just as strongly.

Built With

Share this project:

Updates

Submission history