Inspiration
A lot of workout apps were becoming cluttered with things like AI features I didn’t find useful or social features I wasn’t interested in. A few friends who are also into training felt the same. I was also tired of needing an account and sharing data just to track my workouts.
The main frustration was that existing workout trackers were designed around one particular training philosophy. This works fine for most people or if you train that way exclusively, but it becomes limiting if you want to combine different approaches within the same program.
The UI in many apps also felt messy, overcomplicated, or unappealing. I wanted something that was simpler and easier to use during an actual workout, while also being nice to look at.
What it does
HappyLifts is a workout tracker for iPhone.
You make routines and organize them into folders. For each exercise you can plan sets with a set weight and reps (traditional way), or with RIR targets. You can use either, or both, in the same program. That flexibility is what I found missing from other workout trackers.
During a workout you log sets, see what you did last time, and run a rest timer. Finished workouts are saved to your history.
Exercises have progression charts and relevant stats. The profile page shows past workouts, totals for workouts, time, and volume, and how your training is spread across muscle groups.
There are no accounts, and all your data is stored on your phone.
How we built it
I started with rough mockups on a whiteboard and in tldraw, mostly to work out the screens and jot down the feature list.
The app is built in Swift, with native SwiftUI for the interface. An open source library for charts (dither-kit) was ported to SwiftUI and used for the area chart and the spider chart.
Most of the code was written with AI agents. I reviewed the work and kept iterating until I was happy.
Challenges we ran into
Designing around a feature that isn't common in other workout apps was more difficult than I expected, since there wasn't an obvious interface to follow. A lot of time went into spacing, layout, and simplifying screens so the extra features didn't make the app feel cluttered.
Accomplishments that we're proud of
The finished app stays simple and clean without skimping on features. Fixed targets and RIR targets can be used together in the same program, and choosing between them is straightforward and intuitive.
Swiping between exercises instead of scrolling through one long list has also been appreciated by users, and makes navigating a workout feel more focused.
What we learned
I also learned that while AI can get an app working quickly, making it feel polished rather than “vibe coded slop” still takes a lot of intentional design work.
What's next for HappyLifts
Develop an Apple Watch app.
Add support for powerlifting programs that run in weekly blocks.
Add custom images for the exercises.
Advertise, get feedback from gym goers using it, and keep improving from there.
Built With
- healthkit
- revenuecat
- sentry
- swift
- swiftdata
- swiftui
Log in or sign up for Devpost to join the conversation.