Inspiration

I have been software developer for more than a decade, mostly in enterprise domain. I always wanted to build something more personal, closer to what I truly cared about. When I left the old path and dived into personal projects - my own ARM minimal operating system, embedded, system programming, and Apple platform apps - and I successfully finished most important ones, it gave me both confidence and perspective.

At the same time, I had been a long-time Apple user. I still remember when I first put on Apple Watch and used it to track my training sessions, including heart rate and other metrics. It was exciting tech, but the state of fitness apps showed me a gap: most are cardio-oriented, and the few that target strength training are essentially session logs.

I planned this app for a long time, but I only experimented with what I thought would be impactful feature and functionality before I started development from scratch. I had a vision to make strength training apps as iconic as fitness apps from Nike or Adidas. Then my daughter was born. Suddenly, time became the rarest resource. I had to focus, cut scope for ongoing projects, and make every hour count. And right in that moment, RevenueCat announced Shipaton 2025 with this line: "If you were waiting for a sign to ship your app, this is it". So that was indeed the moment when clock struck...

On a personal note, I have been in strength training for years. I have hit personal records, failed, been injured, rebuilt myself, and found new ways forward. Through all of that I learned one simple truth - behind every number, every PR, and every training plan, the real goal is health and longevity, both physical and mental.

Activity apps can nudge people to move, but strength training, and especially Olympic weightlifting, goes deeper. Strength training is not just about building muscle or chasing competition. It is proven to improve bone density, protect joints, increase mobility, and reduce the risk of chronic conditions such as diabetes, heart disease, and osteoporosis. It enhances posture, balance, and coordination, directly translating into quality of life. These are the effects people often underestimate, but are backed by statistics, research, and lived experience of lifters everywhere. Weightlifting Club aims to highlight this side as much as the sport itself. To become app that doesn't just record numbers, but promotes strength as foundation for health, resilience, and longevity, thus offering to strength world what many fitness apps offer to runners.

In example of olympic weightlifting, its a sport that looks impossible to the untrained eye, yet can be taught and mastered step by step. And with it comes not just fitness, but a sense of community.

So, I wanted to build something in this ecosystem that actually contributes back both to Apple users and my sport, my coaches, friends, other weightlifters, powerlifters, and strength athletes. Apple's ecosystem also opens door to possibilities I was fascinated by, such as computer vision, AR, sensors, health metrics, and spatial analytics.

Weightlifting Club is not yet what it will become, but it is the next step to setting new standards. Polished, fast, privacy-first iOS app with no external cloud dependencies and no subscription traps, but user's data in their hands. Its built for solo progress, for human coaching relationships, and for emerging tools like movement analysis (in sport of weightlifting, bar path is critical technique indicator), AR bar path analysis, where you can bring elite movement tracing right into your room or platform.

It also rejects what my targeted users are tired of: SaaS lock-in, data risk, endless monthly fees. So it offers one-time upgrades and in-app purchases for unique or advanced features people actually want.

For quality reasons, the first release and all forseen development are dedicated to iPhone, iPad, and Apple Watch, so that app feels like it truly belongs there. In the future, Android is considered, but it will receive same dedication only when the time comes. Philosophy is: not fully utilizing native characteristics and innovations of each platform is not an option.

What it does

Weightlifting Club is the first native iOS app dedicated not just to general strength training, but specifically to the sports of Olympic Weightlifting and Powerlifting. At its core it is a "fitness tracker", but it goes much further, and into domain of sports specificity.

It allows both athletes and coaches to design training programs in full detail. The app ships with pre-loaded essential exercises/lifts, and offers two different ways to build programs. First one is simple, standard builder that comes for free. But because this app is backed up by decade of experience in strength training itself, of having trained in clubs, worked with coaches, and asked what communities really wanted, it also includes a second option: Program Builder Pro. This is in-app purchase, and it is deliberately modeled after the familiarity and speed of spreadsheets. Days and weeks are laid out in grids, cells can be copied or duplicated, and programs exported to CSV (with more formats planned). It is meant to replace endless back-and-forth screen flows, and to give coaches and athletes the thing they usually fall back to anyway, built right into iOS. On top of this, feature called "Seasons" lets users chain together program blocks, recovery blocks, and plan out entire training year the way it is done in real training blocks during season, whether based around competition week or simply personal progress. Other ways to log and mark progress are setting your goals, achieving them, and winning awards. The more advanced analytics, statistics and dashboards will come in next releases.

The core innovation offered at this point is bar path analysis. From early prototypes with Apple Watch motion data, the feature has evolved into precise video bar path tracing. In Olympic lifts, bar path is one of the most important technique indicators, and it is first thing to be examined (the bar must not be looped forward). Even in general strength work, whenever cleans or snatches are in play, it matters. Weightlifting Club highlights this by letting you upload your lift from a video, trace the path of barbell, and study it frame by frame. It goes further... You can project that path into your own space using AR, walking around the "true to scale" trace as if it were floating above your platform. You can even analyze your favorite athletes’ lifts and then place their bar path right on your gym floor for comparison. (Because of timing and toolchain issues, the initial Shipaton release does not ship with Apple Watch bar-path tracking, but that integration will return in upcoming versions.)

Other features round out the essentials, such as injury tracking, Apple Health integration, and logbook basics. These will continue to grow as development moves past the first release.

As for the UI and UX - Weightlifting Club is designed to belong on your device. The interface follows iOS conventions. It does not aim to force "brand identity" at every pixel and avoids looking more like a web site or magazine and less like your phone app. It trusts the platform it inherits from.

But at the same time it is not bland. UI is infused with just enough of its own language to stand apart. Color tones drawn from weightlifting plates, retro-inspired palettes that make you think of chalk, steel, and old-school gyms. Hues, gradients and typography subtly nod to tradition. If you ever saw Eleiko plate sets or other top equipment brands, you will recognize that "modern retro" sensibility.

The result is an app that feels both personal and professional. Native but carrying visual identity that strength athletes will love.

How I built it

Weightlifting Club was built under tight time pressure, I had to cut scope and focus when RevenueCat announced Shipaton. That deadline forced me to polish complete product, release it, then build further.

My first prototypes used Postgres with REST APIs (Neon + Heroku), with most CRUD implemented through APIs into SwiftUI. But it quickly became clear, for strength athletes, the best experience was fast, local, and private. So I refactored everything into SwiftData and local persistence. That cut complexity and made the app faster and more reliable.

I originally planned to launch with Apple Watch motion tracking as the flagship feature. But I treated it like a PACE plan: Primary (Watch), Alternate (fix toolchain), Contingency (video), Emergency(much more simplified than contingency plan). In the end, the contingency turned out better. Coaches themselves told me they would prefer bar path via video first. Thats what I shipped, and its more reliable, works for any lift, and additional device isn't requirement. But Watch integration will still come later.

Designing programs was equally important. Coaches told me they still fall back to spreadsheets because most apps overcomplicate flows. So I built Program Builder Pro, a grid designer that behaves like spreadsheet; copy/paste cells, duplicate weeks, edit rows/columns, all in scrollable grid. It is quick, familiar, and directly reflects how training is really done.

I now have clear direction and vision of how Weightlifting Club should look and feel in future iterations.

Challenges I ran into

The biggest challenge was scope. I started with Postgres + REST APIs, which worked but carried costs and complexity that would force the app into subscription territory. I made the call to refactor into SwiftData, giving users privacy, control via import/export, and setting the stage for future iCloud sync.

Another challenge was deciding what stays free vs IAP. I kept the essentials open so anyone can use the app, while advanced features like Program Builder Pro and upcoming tools are offered as one-time purchases through RevenueCat.

On the performance side, I had to rethink my primary feature plan. I wanted to launch with Apple Watch bar path tracking, but Xcode tooling issues made it too unreliable close to the Shipaton deadline. With just about a month left, I pivoted and built video bar path analysis with AR projection as the core feature. It turned out to be a stronger substitution, and coaches even preferred it for the first release.

But the biggest personal challenge wasn’t the logic or data. CRUD, bar path analysis, even video pipelines, those were natural to me, since I had years of experience in RDBMS, computer vision, and graphics work (I used OpenCV, Metal, and similar tools before). What really tested me was the UI and design. I am not a designer by trade, but I knew from the start that the app had to feel polished and have its own visual identity. I ended up creating vector assets in Figma, Inkscape, and other tools, designing everything from application interfaces to App Store presentation.

This part felt less like engineering and more like art. Getting the color schemes, onboarding, home page, light/dark mode, and program builder layouts to feel cohesive and unique required inspiration, patience, and persistence. It was harder than most other aspects becuase it needed constant judgment, balance between Apple’s guidelines and my own vision, and cutting scope to meet the deadline.

Pushing UI and design through in time was exhausting, but it gave me a clear direction forward and confidence for future iterations.

Accomplishments that I'm proud of

Every challenge I hit turned into concrete accomplishment. Changing priorities from Apple Watch tracking to video-based bar path made app more reliable and ended up as the stronger feature. The spreadsheet-style Program Builder Pro translated coaches' (and athletes) workflow into iOS exactly as I intended. And on design side, despite not being a designer, I delivered cohesive interface that gives the app its own identity.

Social media and traction were not the main goal at this point, but there is already some following from #buildinpublic, and more importantly, validation from lifters, friends, coaches, and even owners of other strength training brands who tried early demos. Their feedback confirmed the product vision and direction. Further marketing, website, and social presence will be the next step.

To turn an idea into completed working product on time, despite obstacles and problems that seemed impossible at the moment, and now already seeing downloads, even though this is just the beginning, feels like major milestone for me this year, as it comes to a close.

I'm proud that, despite all the obstacles, I made it all the way to the end.

What I learned

The biggest lesson was that building a product people actually care about balancing vision, design, timing, and priorities, not only a hard work of engineering. Shipping under hard deadline taught me to cut scope without losing sense of direction, to let feedback form features without diluting the core, and to treat design as discipline equal to code.

I learned that focus is more powerful than scale, and that even when working alone, momentum builds when every piece is tied by purpose.

And most importantly, I learned what it means to deliver under pressure, two months from basic project to launch, where actual sprint started only when RevenueCat Shipaton was announced. All while handling other contracts and responsibilities - I planned, executed, solved challenges, and carried this project fully on my own. That experience showed me how much can be achieved with discipline, independence, and determination, and how powerful it is to finish what you start.

What's next for Weightlifting Club

First release was about proving the original vision, validating first major features, and shipping on time. Now, focus will shift to improvement and expansion. Upcoming milestones:

  • I will bring back Apple Watch features, such as motion/sensor base bar path tracking, complementing the video and AR features. It will also involve further integration with Watch, and watchOS companion app.

  • I will provide backup options and device continuity via iCloud sync, and still keep user data private and under their control.

  • I will implement analytics and rich statistics, dashboards, and progress reports for lifters and coaches. All of which were out of scope on first iteration.

  • I will add collaboration tools, and provide more import/export and sharing options, to improve Coach and Athlete workflows.

  • choice between unit of kilograms and pounds will be added (currently kg is default because its a standard in sport of weightlifting)

  • weightlifting and powerlifting weight categories will be added

  • I will extend my design language to upcoming screens, improve layouts, polish accessibility and dark mode details. I will also add more native features, and start adding customizable useful widgets, push notifications, improved haptics, and improved iPad/tablet layouts.

  • I will upgrade app for iOS 26, to take advantage of new APIs and UI improvements such as Liquid Glass.

  • I will start presenting early demos beyond my own network, reaching new lifters and coaches, and directing features according to their needs.

According to my long term vision, Weightlifting Club will grow into a go-to native app for strength training, always minding athletes' needs, aiming to push boundaries in technology by keeping pace with platform innovations and bringing those advancements into domain of strength and fitness apps. Following up on initial promises, first Android release will be planned.

This whole journey through Shipaton made it possible for me to turn something that might've been "someday" into something finished and released now, and made me decide to use RevenueCat for all future in-app purchases and subscriptions.

Built With

Share this project:

Updates

posted an update

I've been rebuilding Weightlifting Club main feature: wrist wearable tracking was original goal but it was exposed as fragile at this stage (angle, occlusion, rep timing, drift, but also Apple Watch development tooling issues). So I moved bar tracking to phone video and on-device CV then added AR mode for spatial visualization. Accuracy jumped, UX got simpler, and it works for more lifters, not just Apple Watch owners.

Log in or sign up for Devpost to join the conversation.