Personal project · Google Play

MyMoodBetter

A private, offline mood tracker for Android. Log mood, energy, focus and gratitude in one daily check-in, watch streaks and patterns build, and keep your data yours. Live on Google Play, built solo with Flutter and Claude Code.

4
Dimensions per check-in
10
Themes, all free
0
Servers, local-first
0
Ads, no tracking

Screens

Light mode
MyMoodBetter home screen: greeting, today's entry card, weekly mood bars and a 14-day streak card.
Home
Check-in screen: four dimension cards — mood, energy, focus and gratitude — each with five icon pickers.
Check-in
Insights screen: averages for all four dimensions, best and hardest weekday, and a mood-over-time line chart.
Insights
History screen: a month of daily entries listed with per-dimension scores.
History

What it does

v1.4

One short check-in a day, four dimensions at once — the combination turns a mood log into a picture of the whole day.

  • Mood, energy, focus and gratitude in every entry.
  • Streaks and the past seven days at a glance on the home screen.
  • Insights: period averages, trend against the previous period, and your best and hardest weekday.
  • Full journal history, organised by month.
  • Export to PDF or CSV, and back up to your own Google Drive.
  • Warm light and dark themes, plus a guided first-run walkthrough.

Stack

Solo build
FlutterDartSQLiteGoogle Drive backupClaude Code

One Flutter codebase for Android, offline-first on SQLite. No account, no servers — backups go straight to the user's own Google Drive.

Development insights

2026

Built with AI, managed like a delivery team

The app was built end to end with Claude Code, and the process went through the same evolution this site did: I started with a heavy GSD (get shit done) workflow, found the ceremony cost more than it returned, and settled on a lean loop instead — plan the phase, execute one step, verify, stop.

The v1.4 redesign came from a Claude Design handoff: six screens re-specified, then implemented against a shared component system. AI made the writing fast; the gates — plan, one step at a time, verification and UAT before moving on — are what kept the result shippable.

Free first, paywall later

The first release gated premium themes and auto backup behind in-app purchases. At around fifty installs — nearly all closed testers — that was charging for trust the app had not earned yet. v1.4 un-gates everything: all ten themes free, backup free. The billing code stays in the app, dormant; the plan is to reintroduce a paywall around 500–1000 real users, anchored by extended insights. One constraint locks the design: you cannot re-gate what was already free.

Shipping is the easy half

The app is live and stable; the open problem is distribution. I have no marketing channel yet, and discovery — not engineering — is what stands between a finished product and real users. That is the next milestone: not a feature, but reach.