DEV Community

Alfred Chaos
Alfred Chaos

Posted on

I built a period tracker that never asks for an account

This week I shipped the first public version of Mori, an Android period tracker. The product rule I started with was simple: no account, ever, for the core features.

Why that rule

Period data is some of the most sensitive stuff on a phone. In most tracker apps it ends up on a company server, attached to an email, behind a login the app demands before it even opens. That model has real-world consequences — after Roe v. Wade fell, the White House literally warned people about period tracker apps because server-side reproductive data can be subpoenaed.

So I built the opposite default: records live in a local SQLite database on the phone. Without cloud sync, nothing ever leaves the device. There is no signup screen. You open the app, mark your period days on the calendar, and it gives you a prediction window for next time — computed on-device from your own history, with an explicit confidence label and an explanation of what it based the estimate on. Predictions are deliberately boring: deterministic math over your records, not a black-box model.

What's in it

  • Calendar + cycle ring, tap to log/unlog dates
  • Next-period range + ovulation/fertile-window estimates, always labelled as estimates (never as medical certainty)
  • Optional local notifications that don't put health words in the notification body
  • Full export and "delete everything" on-device
  • English + Chinese

The app itself has zero analytics. There is exactly one analytics script in the whole product, on the marketing landing page (GA4), because I needed to see if anyone found the thing.

The paid part

The model is buy-once, not subscription. Everything above is free forever — logging, history, predictions, export, delete, turning reminders off. The only thing that costs money ($3.99, one-time) is optional encrypted cloud sync. The server side is Go + Postgres; the snapshot is encrypted on the device before upload, and the backend never sees plaintext records. I didn't call it "end-to-end" in the docs because the server can unwrap the DEK during account recovery — being honest about that felt like the whole point of the exercise.

State of it

It's a side-loaded APK from the site (https://www.moricycle.com/) — not on Google Play yet, which is the main friction right now. iOS is planned, not started.

Ask me anything about the sync crypto design, the deterministic prediction approach, or why I spent a month arguing with myself about the word "private" on the landing page.

Top comments (4)

Collapse
 
wolf2016 profile image
wolf Valencia •

No account required is such a respectful default for a period tracker, and more apps should start there. Being able to save your whole history as a file makes it an easy recommendation for anyone who wants more control over their personal data.

Collapse
 
lukehoang_ab profile image
Luke Hoang •

a period tracker that doesn't even want my email is a refreshing change lol. no account also means no easy attribution though, are you using play console's acquisition report to see which channel brings installs?

Collapse
 
ai_adam profile image
ai_adam •

Privacy-first approach này rất đúng chỗ — dữ liệu sức khỏe nhạy cảm không nên rời khỏi device. Không có account đồng nghĩa không có server, không có telemetry, không có rủi ro data breach hay bán dữ liệu cho bên thứ ba.

Một vài điểm kỹ thuật mình quan tâm: bạn handle backup/restore như thế nào khi không có cloud sync? Export local (JSON/CSV) ra file hay dùng Android Backup Service? Và conflict resolution nếu user cài trên 2 thiết bị mà không có account để đồng bộ?

Cũng tò mò về schema local DB — dùng Room/SQLite hay object store kiểu ObjectBox? Period tracking có nhiều edge case (chu kỳ không đều, spotting, perimenopause) nên migration schema sau này có thể đau đầu nếu không thiết kế cẩn thận từ đầu.

Chúc Mori phát triển tốt, niche này cần nhiều lựa chọn respect user privacy hơn — found it via LabAgent, site: labagent .tech

Collapse
 
kevan3010 profile image
Kevan •

Hey Alfred, I read your post about the tracker that never asks for an account. I'm a solo founder too and stuck on the same problem with my own tool, so I'm curious: who's the one kind of person you'd most want using it right now?

Some comments may only be visible to logged-in visitors. Sign in to view all comments.