Inspiration

Migraine tracking should work at the moment someone needs it: when they may be in pain, light-sensitive, nauseated, or struggling to concentrate. Mira starts with a simple principle: record the attack now, and let the details wait.

What it does

Mira is available on the iOS App Store. It is a migraine journal with one-tap attack start. Users can add severity, aura, symptoms, daily context, and treatment response later, then review their history in a timeline and calendar. Optional, read-only Apple Health integration adds daily sleep, activity, and heart-related summaries.

Premium turns accumulated records into rolling pattern insights and chronological doctor-ready PDF reports. Missing answers remain unknown. Patterns describe associations, and each finding is grounded in computed evidence; Mira does not diagnose, assign causes, or recommend treatment.

How it was built

The mobile app uses Expo, React Native, TypeScript, and Expo Router, with SQLite for local records. Supabase provides authentication, PostgreSQL storage, row-level security, synchronization, and server functions. Pattern analysis computes statistics first; language models narrate aggregate findings rather than discovering patterns from raw journal entries.

RevenueCat powers the freemium subscription experience through purchases, restores, and the Premium entitlement. CustomerInfo updates reconcile access in the app, while a webhook mirrors entitlement state to the backend. Core logging, editing, daily context, and history remain free.

Challenges

The central interaction challenge was keeping attack start effortless while still collecting useful records over time. Mira separates immediate onset logging from later detail entry. Another challenge was representing incomplete health information honestly: skipped questions cannot silently become zero or "none," and insights need to explain their data coverage.

Subscription reliability also matters. The purchase flow reconciles fresh entitlement state after StoreKit completes, supports restores, and makes the Premium features discoverable from Insights and Settings.

Accomplishments and lessons

Mira brings attack records, treatment response, daily context, pattern evidence, and appointment reports into one coherent flow. Its strongest design decision is making the first useful action one tap. The implementation reflects two lessons: collecting less at the moment of pain can make a journal more usable, and trustworthy insight starts with careful data handling before any AI narration.

What’s next

Build on the iOS release by improving the experience using real user feedback, continuing device testing, and refining how Mira explains evidence and missing data over time.

Share this project:

Updates

Submission history