Self-hosted AI fitness assistant

Just tell it what you did.

ChatFit turns training and meal messages into structured history, and can carry preferences you explicitly save into future chats.

Source available · Structured records use local databases · Saved preferences are stored in a local database · Built with Gemini

ChatFit bot

Long cycle today: 2×24 kg, 60 reps.

Nice session! What was your RPE, and how did you warm up?

RPE 7. Mobility and a few rounds of swings.

Saved to your training log.

  1. Message naturallyText, voice, or OCR-assisted photo
  2. ChatFit fills the gapsClarifies missing details before changing data
  3. Your history becomes usefulPatterns, trends, and reviews

Simple in use, useful over time

Less form-filling. More understanding.

ChatFit keeps the interface conversational while quietly building the fitness history you never had time to maintain.

Log your way

Send training or meal details as text, voice, or OCR-assisted photos—directly in Telegram.

Keep clean records

ChatFit asks for missing details, confirms the entry, and stores structured data locally.

Keep chosen context

Explicitly save, update, or forget preferences. They remain available after a fresh chat or restart. When ChatFit generates a reply, all of your saved memories are sent to your configured AI model. If you enable tracing content capture, they may also be included in traces.

The payoff

Your data becomes a conversation, not a spreadsheet.

Ask about recent progress or enable optional reviews. ChatFit combines your own history with the preferences you chose to save.

Example optional weekly review

This week: 3 training sessions.

Recorded totals: 4,820 kg volume, 42 minutes, 5 km, and 18 sets. Average RPE: 7.

Make ChatFit yours.

Create a Telegram bot and deploy the source-available app.

  1. Create bot
  2. Add Gemini key
  3. Run with Podman
View setup on GitHub