Training Tracker

In daily use · v2.11

An app for logging strength and running sessions, set by set, and tracking your progress.

Training Tracker open on an iPhone held in hand: home screen with the weekly goal, the button to start a workout and recent sessions

The need

To be honest, I’ve always found gym log apps clunky, or not straight to the point. So I logged my sets in the Notes app on my phone.

Then I thought: “Let’s give it a try.” That’s how I started building Training Tracker, an app designed to support athletes during their strength workouts.

Since version 2.10, an MCP server lets an AI agent analyze exercises and create programs right in the app.

What the app does

  • Sessions

    Start an empty session or one from a program, log each set as you train, or record a past session after the fact.

  • Programs and calendar

    Build programs with per-exercise targets, plan them on a day and see what’s next; logging the session automatically completes the planned day.

  • Records and statistics

    Weight and pace records detected at the end of each session, streaks, totals and per-exercise progress.

  • Exercise catalogue

    1,324 exercises from an open dataset, with animated visuals and French names for common movements.

  • On your home screen

    A web app you add to your phone’s home screen that opens full screen, just like an app, in French and English.

Under the hood

  • Layered architecture: Domain, Application, Infrastructure, API
  • .NET 10 Minimal APIs
  • EF Core 10 and SQLite, ready to move to PostgreSQL
  • ASP.NET Core Identity, JWT and rotating refresh tokens
  • Zoneless Angular 22, signals and standalone components
  • Remote MCP server secured with OAuth 2.1
  • xUnit and Vitest tests, GitHub Actions CI
  • Architecture decisions recorded as ADRs
  • Angular 22 (PWA, signals)
  • .NET 10 (Minimal APIs, layered architecture)
  • EF Core 10
  • SQLite
  • ASP.NET Core Identity + JWT
  • MCP server
  • Docker
  • nginx
  • xUnit
  • Vitest

An assignment, a project? Let’s talk.

Pick a slot for a phone or video call. I’d be glad to hear about your project and talk it through with you.

Book a call