How I Built a Workout Tracker That Doesn’t Suck (GympleBuddy)
Built my own workout tracker because the others sucked.
June 5, 2025
Over the last couple of months, I have started to take my health a bit more seriously, and I noticed that all the apps I used although great, were a bit too much for me. I just wanted an app that was simple, tracked my weekly progress so I know when to amp my workouts up. I want something super simple, with no truck loads of features, no paywall, and is just something you quickly use and forget till your next workout.
So being the serial builder I am, I decided to build my own.
🚧 The Problem
I wanted something that:
- Shows me today’s workout. Nothing more, nothing less
- Lets me log sets + reps with ease
- Remembers my last weights and reps
- Looks clean and works offline
🧠 The Stack
Built in Flutter, because it’s cross-platform, fast, and great to build the mvp quickly.
All Data is stored locally for now (SQLite).
UI is dead simple, using emojis for workouts because why not.
State management: provider and ValueNotifier, because I like keeping things snappy and lean.
🧼 The Features
- Onboarding flow to set goals + choose premade or custom workouts
- Each workout has emoji, name, exercises, sets, and history
- Logging screen that autofills last set’s data
- Can skip a day, undo it, and still track progress
- Settings for backup, export, and even theme/font tweaks
It’s not bloated. It’s not ad-driven. It just does what it says on the tin
🧪 Things I Learned
- UX in fitness apps needs to be frictionless or people won’t stick with it
- Flutter’s hot reload is god-tier for UI tweaks
- Designing for repetition and flow (vs one-time tasks) makes you think different
- A good app doesn’t just store data, it nudges you to keep showing up
🚀 What’s Next
- Supabase sync for cross-device use
- AI-generated workout suggestions based on history
- In-app streaks, reminders, and habit reinforcement (but not in a cringey way)
- Maybe open-source it?