Back

Builder

Building
Personal Project2025Present

Gut-mood tracker that helps people notice the connection between what they eat and how they feel. V1 had five features. V2 has one: the gut-brain connection.

10Beta users
5→1features cut
v2shipped

the problem

Every wellness app pushed me toward more numbers: calories, macros, steps, HRV. The more I tracked, the further I felt from understanding myself. 95% of the body's serotonin is produced in the gut. The gut-brain connection is well-documented. But most apps focused on symptoms or nutrition numbers rather than helping users notice the emotional and energy patterns connected to what they eat.

v1 → v2

I logged everything for a week and still couldn't tell you why I felt flat on Tuesday.

Beta user, v1

V1 had food tracking, calorie logging, mood tracking, gut score, and a wellness dashboard. Users were logging but not connecting.

V2: removed everything except gut score and mood log. The job is not to track what you eat. The job is to help you notice how food makes you feel.

four features

FEATURE 01

Gut Score

A single daily score reflecting the connection between what you ate and how you feel. Not a metric to optimise. A mirror to observe.

FEATURE 02

Mood log

A simple mood scale logged once a day. No notes, no journaling, no friction. Just a number that builds into a pattern over time.

FEATURE 03

Meal log

Free text input. Gemini categorises the meal into gut-health relevant food groups. No calorie counting, no macro tracking.

FEATURE 04

Your Connection

Weekly insights showing patterns between food and mood. Helps you notice what you would never see logging day by day.

diagrams

USER FLOW Onboard goal setting Log meal free text to Gemini Log mood scale only Gut Score weighted calc Your Connection insights + patterns SYSTEM ARCHITECTURE React + Vite Tailwind · React Router Gemini 1.5 Flash meal categorisation Score engine mood x food pattern Supabase auth + persistent logs

what I learned

Building something generic is easy. Trying to play safe or satisfy all audiences does not work. In v2 I realised it is important to narrow down to the simplest problem possible and build something that actually solves it.

stack

React + ViteTailwind CSSSupabaseGemini 1.5 FlashReact Router
Open Keel
GitHub
LinkedIn