Personal workout tracker

Our workouts.
Our data.

We wanted to track workouts without being locked into a hardware maker’s app. So we built a simple log for weights, walks and rides. It runs on our phone, syncs to our own server, and our bot can read it.

App
Android
Server
Self-hosted
Bot
MCP, read only

What it does

One log for every workout

The things we actually needed. Nothing we didn’t.

Active weights workout Active cardio session Rest timer Workout history list Workout summary Web activity dashboard
  1. 01

    Weights and sets

    Log exercises and sets as you go. If you’ve done an exercise before, last session’s numbers are right there.

  2. 02

    Walks and rides

    GPS tracks outdoor distance and speed. For treadmill walks, enter the distance at the end. Heart rate comes from a Bluetooth chest strap, if you wear one.

  3. 03

    Rest timer

    Pick a duration and start it when you’re ready. The phone tells you when it’s done.

  4. 04

    History on the phone

    Every session is stored on the phone. Open one to check it or fix a mistake.

  5. 05

    Syncs to our server

    Finished sessions go to a server we run. If it’s offline, the app keeps working and syncs later.

  6. 06

    A dashboard on the web

    A read-only page on the server lists every synced session.

Screens

Built for a sweaty thumb

Big numbers, big buttons, no setup. Example data only.

New · Our bot

Hermes can read the log

Soham’s Hermes bot connects to Logbook through an MCP server. MCP is a standard way for AI assistants to use tools. So you can just ask “how much did I bench last week?”

Three tools. Read only. Locked with a token.

How did my last three leg days compare?

get_exercise_historySquat went from 80 to 85 kg over those sessions, same 5 sets each time.

  • list_workout_sessionsRecent workouts, filtered by date or type.
  • get_workout_sessionOne workout with every exercise and set.
  • get_exercise_historySets and volume for one exercise over time.

How it works

Phone, server, bot

01

Phone

Android, Kotlin and Jetpack Compose. Workouts are saved on the phone first.

02

Server

Bun, Hono and SQLite on a server we run. Stores synced sessions and serves the dashboard.

03

Bot

An MCP endpoint gives Hermes three read-only tools. No writes, no raw database access.