Healthcare, SaaS
Steady
A mood journal that never tells you how you feel
- 10 sto log a feeling
- 0analytics SDKs, ads, streaks
- v3.6closed beta, live
The problem
Most mood trackers interpret, nag and harvest. For adults living with ongoing emotional-health conditions, and for the partners who love them, that is the opposite of help. My wife and I run Ritmann, a brand about couple mental health. Steady is the product we wished existed.
What I decided
Write the principles before the screens, and make them binding.
- Ten-second rule: feeling first, everything else optional.
- Observational, never interpretive. The app records; it does not diagnose.
- Definitions never rewrite history.
- Skipping is participating.
- The tracked person owns every switch.
- Calm surface, deep drawer.
The product
- A mood slider, five energy levels, word families drawn from the circumplex model, so a feeling carries four dimensions without the person having to name them.
- Everything stays on the phone. Optional backup to the user’s own Google Drive folder. Read-only views to show a psychiatrist or therapist at an appointment.
- No ads, no analytics, no streaks, no red marks, no social features before there is funded moderation.
- Closed beta with an invite code, a privacy page and terms, a feedback loop.
How it grew
It started as a single page on GitHub Pages. Then came the emotional-metadata engine and care-team views, then PDF export, medicine logging and a photo journey. A cloud-sync version on Supabase worked, and taught me that server plumbing was too heavy for a solo non-developer founder and contradicted “your data stays on your phone”. I retired it. Today it runs on Firebase for the tester allowlist only, with the user’s own Drive for backup, in closed beta.
Decisions I would defend
- Retiring sync. The feature worked. It was wrong for the product. Removing it was the best product decision in the project.
- Privacy-compatible metrics only. Beta exit criteria are retention, save time and restore success. Never session length or notification clicks.
- The local-first pattern travelled. The optimistic, pending-queue approach proven here became the recommendation that fixed FleetSetu’s latency problem.