In the summer of 2024, I decided to track my menstrual cycle more carefully. I was already using a few wellness tools, and I figured adding cycle tracking would be straightforward — download an app, log a few dates, done.
Instead, I spent two weeks trying apps and becoming increasingly frustrated. Not because they didn't work technically — most did. But because every single one of them made decisions that I found difficult to accept for data this personal.
The Problem Wasn't the Apps. It Was the Business Model.
The first app I tried was well-reviewed. It had a clean interface and sensible features. It also, I discovered while reading their privacy policy, shared "non-identified" user data with advertising partners. In a privacy policy footnote, "non-identified" was defined in a way that included cycle length, period duration, logged symptoms, and — in aggregate with device identifiers — information that could reasonably re-identify an individual.
I closed the app.
The second app required a subscription to view cycle history older than three months. The history I had logged myself. Behind a paywall. I found this a strange enough model that I checked whether this was standard practice. It is. Many of the most popular cycle tracking apps lock historical data, prediction features, or symptom insights behind monthly or annual subscriptions ranging from £3 to £12 per month.
The third app had a free tier with no such restrictions. It was also so cluttered with wellness content — daily affirmations, fertility "coaching," ovulation prediction ads — that finding the actual cycle log required navigating past four screens of content I hadn't asked for.
What I Wanted, Specifically
By week three I had a clearer idea of what I actually needed. It was not complicated:
Log the start and end dates of my period. See a calendar view of past cycles. Get an estimate of when the next one is likely. Optionally log symptoms. No server. No account. No subscription. No ads. No wellness content I didn't ask for. Open it, log it, close it.
I couldn't find that. So I built it.
The Technical Decisions That Shaped Everything
The most important decision I made early was: all data stays on device. No cloud sync, no server component, no account creation. This was partly a privacy decision and partly a practical one — a server costs money to run, creates a maintenance burden, and introduces a central failure point. A local-first architecture is simpler, cheaper, and more private simultaneously.
The trade-off is that you can't access your data across devices without an export/import mechanism. I built one. But the primary model is: your data is on your phone, not in my database.
The second decision was prediction methodology. I'm a statistician by training, and I spent more time on this than I expected. The naive approach — predict next period based on average cycle length — is what most apps use. It works adequately for people with highly regular cycles. For people with meaningful cycle-to-cycle variation (which, per the research, is most people), a rolling weighted average that weights recent cycles more heavily performs better. I implemented the weighted version.
What I Didn't Anticipate
How many design decisions involve trade-offs between privacy and features.
Backup and sync, for example. Local-first storage is more private. It is also more fragile — if you lose your phone without an export, you lose your history. I wanted to add optional encrypted backup. But adding any cloud component, even an optional one, changes the threat model for privacy-concerned users who don't trust "optional" to stay optional.
I've iterated on this several times. The current version has local export to a file format you control. Cloud backup may come in a future version, implemented as end-to-end encrypted, with the key staying on device. That's more work to build correctly than it sounds.
The second thing I didn't anticipate was the range of use cases. I built Floravia for people who want basic cycle tracking without data extraction. But people use it for much more — tracking symptoms associated with conditions like PCOS or endometriosis, monitoring the effects of medication changes, logging data to share with a healthcare provider. The logging fields I built had to be flexible enough to accommodate data types I hadn't specifically designed for.
What Using My Own App Taught Me
I've been using Floravia as my primary cycle tracker since building it. After about fourteen months of consistent use, a few things stand out.
The weighted prediction approach works noticeably better than a simple average for me personally — my cycles vary by about four to five days, and the weighted model tracks the trend of recent cycles instead of regressing to a historical mean. This is a small difference in practice, but it's the difference between a rough estimate and a usable one.
The symptom logging I thought would be an afterthought turned out to be one of the most useful features. Patterns I couldn't have spotted from memory became visible over months: specific symptoms clustering on particular cycle days, consistent mood changes that I could now predict and prepare for rather than be surprised by. The data tells you things about your own patterns that your memory cannot reliably retain.
The no-account model has never been a problem for me. I export to a file every few months as a backup. The friction of that is lower than the friction of managing an account and trusting a server with this information.
The Honest Version of "Build for Yourself"
"Build something you want" is standard indie developer advice. The honest version of that advice is: building something you personally use means you notice the problems that external users would report, before they report them. It also means you're more likely to fix the small frictions that don't break anything but make the experience slightly worse every time — because you encounter them yourself.
The honest version also means: your preferences and needs are one data point. I don't have irregular cycles with clinically significant variation. I don't have PCOS. I track out of curiosity and for health awareness, not medical necessity. The decisions I made optimising for my own use case had to be reconsidered when I started talking to users who had different needs. The design is better for that — but it required deliberately seeking perspectives outside my own experience.
Floravia is still being improved. The next version has a revised calendar view and improved symptom insights. If you want a cycle tracker that doesn't treat your health data as a revenue source, it's available now — free, no account required.