Inspiration
Phase was born out of seeing my close friend struggle every single time she got her period, simply because she didn't know how her cycle worked and was dealing with unmanaged endometriosis symptoms. Watching her fight through severe fatigue, pain, and confusion without actionable insight made it clear how broken standard fitness and health tracking tools are.
Most wellness apps follow a rigid, one-size-fits-all model that expects constant daily output, requires tedious manual tracking, and invades personal privacy by collecting sensitive personal details. I created Phase to build a compassionate, cycle-aware companion named Luna that listens via voice, adapts in real-time, and maintains absolute data privacy with zero personal identifiers.
What it does
Phase is a cycle-aware training and wellbeing web app that adapts directly to how you feel on any given day:
Voice Check-In: Speak naturally for roughly a minute. AI listens to understand your voice, energy, and self-reported state.
Adaptive Routines: Dynamically adjusts daily workout volume, suggests daily meal prep ideas, and surfaces evidence-grounded guidance tailored to your current cycle phase and real-time feel.
Clinician-Ready Export: Automatically generates a statistics-based PDF report to help you advocate for yourself during doctor appointments.
Complete Data Sovereignty: Identity is secured using a single 10-character code without requiring names, emails, or phone numbers.
How I built it
Phase was built as a lightweight, responsive web application using Python and Streamlit:
Frontend & Design System: Streamlit framework styled with a custom "cherry red and antique gold on parchment" design system, featuring custom SVG elements like the dynamic cycle dial and our crescent-moon mascot, Luna.
AI & Speech Stack: Powered by Google Gemini for audio understanding, workout tailoring, meal ideas, and pattern insights, alongside Cartesia Sonic for real-time streaming speech-to-text and natural voice readbacks.
Personalized Learning Logic: Features custom per-user online models, including an online Bayesian model for cycle-length tracking and an online logistic regression model for physical readiness.
Challenges I ran into
Platform Pivots: Pivoting stack decisions to Streamlit meant solving state persistence, custom animations, and complex UI layouts within a Python execution model.
Mobile Audio Constraints: Handling live microphone streaming across mobile web browsers required establishing strict fallback pipelines, including transcription-after-stop modes for low-latency delivery.
Responsible Guardrail Design: Stripping away unnecessary generic disclaimers while keeping rigorous clinical escalation banners for severe pain or irregular patterns.
Accomplishments that I'm proud of
Real Per-User Learning: Successfully implementing online Bayesian and logistic regression algorithms that adapt directly to individual feedback loops rather than static rules.
Privacy-First Architecture: Building an onboarding experience that stores zero personal identification data while providing continuous personalization.
Cohesive Design System: Delivering a clean, aesthetic visual style featuring custom graphics, vintage gold borders, and fluid navigation components.
What I learned
Voice Friction Matters: Keeping check-ins fast, conversational, and under 60 seconds drastically improves daily user participation.
Respecting Individual Baseline: Biological priors like average cycle phase lengths must always yield to the user's real-time self-reported state.
What's next for Phase
Clinical Validation: Conducting dedicated qualitative studies with individuals managing conditions like PCOS and endometriosis.
Mobile Optimization: Expanding physical device verification and improving continuous voice pipelines on mobile browsers.
Advanced Longitudinal Reporting: Expanding statistical insights on medical exports to support clinical consultations.
Built With
- cartesia
- gemini
- python
- streamlit
- typescript
Log in or sign up for Devpost to join the conversation.