
MoodMinder
Building MoodMinder, a personal mood-tracking app.
I wanted a simple way to check in with my mental state and see patterns over time. I could not find the version I wanted to use, so I started building it.
The problem
I wanted a faster way to record how I was doing and see patterns over time, but I could not find the version I wanted to use.
What I did
I shaped the check-in model, moved the product from an open journal toward categories and trends, and learned enough of the web stack and AI-assisted builder tools to keep solving implementation problems.
Where it ended
MoodMinder reached a live, shareable build with accounts, storage, trends and settings. The site remains online, while the database is currently paused.
01 · Product shape
Moving from an open journal toward structured check-ins.
The early concept was closer to an open journal. Over time I moved toward repeated categories and questions that could be answered quickly enough to use regularly, then compared across time.
Product evolution
Open journal
Free-form reflection with little structure.
Structured check-in
Repeatable categories and questions.
Trend views
Compare recurring patterns across time.
Shareable build
Accounts, storage, trends and settings.
The categories could be looked at over a week, month, three months or six months. The app grouped repeated entries and surfaced how often they appeared.
That gave the product a simple loop: check in during ordinary days, then occasionally zoom out and see what had been recurring.
02 · Building
Learning the technical pieces required to keep building.
I used the new generation of AI-assisted app builders as a way into software creation. Early attempts were unreliable and I spent a lot of time dealing with build failures, authentication and backend problems. I tried different tools and services rather than abandoning the idea when one route stopped working.
Build loop
Prototype
Use AI-assisted builder tools to make the next version.
Hit a constraint
Authentication, backend, deployment or browser behavior.
Learn enough
Understand the technical piece well enough to decide.
Iterate
Change tools or implementation and keep moving.
As the app grew, I had to understand enough about accounts, databases, browser storage, hosting, deployment and web/mobile behavior to make decisions and keep moving. The version I ended up with was a React and TypeScript application connected to Supabase, with experiments involving another backend and an Android packaging path as well.
Important distinction
AI-assisted tools were part of how I built the product. The recovered application does not show an AI-model or API feature inside MoodMinder itself, so I do not describe the product as AI-powered.
03 · Live build
Reaching a live, shareable build.
MoodMinder reached a live, shareable state with account flows, stored entries, trend views, reminders and data controls. I sent it to friends and family who were interested in trying it. I never pursued distribution very far.
The hosted MoodMinder front end remains online. The database is currently paused after a period of inactivity, so data-dependent functionality would need to be reactivated before presenting the live build as a functioning demo.
Current state
The codebase is still available.
The final codebase includes the application pages and flows for accounts, stored entries, trends, settings, notifications and data management.