KRIS RACETTE
Gym Tracker app teaser
Open Source • Personal Project • v1.0

GYM TRACKER

The fitness tracker I built for myself

A Flutter app I built to log my own strength and hypertrophy training. No subscriptions. No account. No data leaving my phone. Just a clean local SQLite database and a workout form that pre-fills my last weight per exercise. Coming soon: Deschamps — an AI agent with full training history recall.

My Story

For years I tracked my workouts in OneNote. It was messy, inconsistent, and impossible to search. I tried Excel — cleaner, but it drifted out of date the moment I skipped a week. Then I tried chatting with LLMs about my training, and ran into the same problem every time: they had no context, no memory of last session, no idea what weight I was up to. Each new conversation started from zero.

So I built a Flutter app to structure the data properly. Sets are rows. Reps are columns. My last weight for the squat in strength mode is one query away — not a Ctrl+F hunt through last week's OneNote. Gym Tracker is the data layer. The app remembers. The data talks to itself.

Then I built Deschamps — an AI agent that reads the database and knows my full training history. Personalised, long-term recall that could take me from a grom, to a professional athlete, and into my eighties — all with context awareness and preserved session memory. Right down to knowing my PB run time or bench press.

Why "Deschamps"?

I named the AI agent Deschamps after Didier Deschamps — captain of the 1998 World Cup-winning French side, and manager of the 2018 World Cup-winning side. Two-time world champion, different roles. The tactician who managed the talent. The figure who read the game and the squad, then programmed the next move.

That's what I want from an AI training coach. Not a chat window that forgets me between messages — a tactician who knows the squad, knows the history, and programs the next session with full context. Deschamps is the intelligence layer above the data layer. The app stores the data. Deschamps turns it into decisions.

Features

💪

Strength Mode

~6 reps × 5 sets, focus on maximal strength. My strength block — heavy compounds, low volume, long rests. The mode I train in changes how my next session pre-fills.

🧬

Hypertrophy Mode

~12 reps × 3 sets, focus on muscle growth. Strength and hypertrophy records live as separate rows — a 100kg × 5 strength entry never bleeds into an 80kg × 12 hypertrophy entry.

📈

Progressive Overload

Every exercise card pre-fills my last weight, reps, and sets for the current training style. Progressive overload becomes the default — not a discipline problem. I just have to train.

📊

Body Stats

Track weight, waist, neck, and free-text notes over time. A timeline, not a single number. I watch the trend, not the daily noise.

📚

Session History

Every session I've ever logged, reverse chronological. Body parts trained, run time, sauna, body weight, notes — all queryable. The system remembers so I don't have to.

📖

Exercise Catalogue

Pre-populated with 31 exercises across 5 body parts (Legs, Chest, Arms, Back, Shoulders). Many-to-many mapping — one exercise can target multiple body parts. I can add my own.

📡

Offline-First

Local SQLite database. No account. No cloud. No telemetry. I can train in a basement, on a plane, or anywhere with no signal — the app works.

📤

Database Export

Share a copy of the gym_tracker.db file via the system share sheet. My data, my format, my control. Backups, transfers, and migrations are trivial.

🏃

Cardio & Recovery

Log run distance, run time, and sauna duration alongside lifts. The full training session, in one place — not split across five different apps.

Coming Soon

Deschamps — The Intelligence Layer

An AI-powered exercise, diet, and health manager. It reads my full training history, diet, injuries, and goals — and programs my next session with full context awareness. Not generic advice. Not a chat window that forgets me between messages. Long-term recall that could take me from a grom, to a professional athlete, and into my eighties — all with preserved session memory. Right down to knowing my PB run time or bench press.

The app stores the data. Deschamps turns it into decisions. When the agent is ready, it will be available to anyone with the database — open source, self-hosted, no lock-in. I'm building the coach I want for myself. If it works for my training, it can work for yours.

Full History Recall

Every session, every weight, every body stat — accessible to the agent as structured data. No summarisation loss. No "I don't have access to previous conversations." The data is the context.

Context-Aware Programming

Reads my training blocks, recovery signals, and goals. Programs the next session with awareness of what I did, what I'm trying to do, and what my body has been through.

Long-Term Coaching Memory

Knows my PB run time. Knows my bench press in October 2028. Remembers the shoulder tweak in 2031. A coach, not a chatbot. Decades of continuity.

Open Source & Local

Self-hosted by default. My training history never leaves my infrastructure. The same offline-first philosophy that defines the app applies to the agent.

Tech Stack

Framework Flutter / Dart (SDK ^3.1.1)
Database SQLite (sqflite + sqflite_common_ffi)
State Management Provider
Architecture Clean Architecture + Repository Pattern
Platforms Android, Windows (iOS/macOS/Linux build from source)
License Open Source
Data Ownership 100% local — my database, my device

Get Gym Tracker

Open source. No subscriptions. No account. Download the latest release from GitHub and start training with a system that actually remembers.

View on GitHub →

Built by Kris Racette • Released as open source • Source available on GitHub

About the Developer

Kris Racette (also known as Kristopher Racette and Kristopher Marc Racette) is a financial professional with 18+ years of accounting experience and a Master of Commerce from the University of New South Wales. As the Founder of Executive Mind, Kris builds AI systems, ships open-source tools, and runs an AI consultancy in Brisbane.

Gym Tracker is the project that sparked Deschamps — the realisation that fitness data, like any operational data, deserves a schema, a query layer, and an agent that respects its history. The source code is available for audit and contribution on GitHub.