Fitty#

With Fitty, I am building a personal fitness companion for iOS and the browser. The idea: one chat per day for food, workouts, walking pad sessions, and everyday questions. Describe a meal, attach a photo, or log some exercise — and build a daily overview that I can check and revisit.

The idea#

AI helps turn messages into food and activity entries and estimate calories and nutrients. Photos of meals, nutrition labels, or workout displays can also serve as input. Estimates stay clearly marked, and entries can be corrected later through the chat or directly in the overview.

Personal goals and dietary preferences provide context. Optional daily targets for calories, protein, carbohydrates, and fat show progress. Daily totals are calculated from stored entries, with activity calories shown separately. A dedicated photo history is intended to help compare physical changes over time.

Tech stack#

AreaTechnology and purpose
iOS and webReact Native with Expo, TypeScript, and Expo Router — one shared codebase for the app and browser.
BackendGo with pgx — API, application logic, and PostgreSQL access.
DatabasePostgreSQL within Supabase — profiles, chats, targets, and tracking entries.
Login and imagesSupabase Auth for login and sessions, Supabase Storage for private photos.
AIOpenAI Responses API through the Go backend — text and image analysis with a configurable model.
Hosting, plannedCoolify to run the web interface, backend, and Supabase on my own infrastructure.

AI analysis uses the external OpenAI API, which receives the chat, profile, and image data needed for processing. The separate progress photos are excluded from that analysis.

Status and next steps#

According to the project README, login, profiles, daily chats, text and photo tracking, daily targets, and progress photo comparisons are already implemented. Testing on a physical iPhone and deployment through Coolify are still pending. Without an OpenAI key, Fitty remains usable as a diary.

This is where I will document how the app holds up in everyday use and what I build next.