-
-
Home screen with weekly workout plan
-
workout details, review plan prior to starting the workout
-
workout timer/tracker while doing workout
-
leaderboard, users compete for ranking every week
-
account stats, track workouts/calories burned
-
tutorial view, learn proper form for each movement
-
progress tracking, see your results over time
Inspiration
Kettlebells have become increasingly popular because they deliver effective full-body training with minimal equipment. Yet most fitness apps treat kettlebells as a small category inside a generic workout library rather than building an experience around how kettlebell training actually works.
We saw an opportunity to create a purpose-built platform that could teach complete beginners, guide every workout, and provide an ongoing training system as users progressed. Partnering with fitness creator and coach Trevor Shan also gave us direct access to an engaged audience and real coaching expertise to translate into the product.
What it does
Kettlebell Body is a complete training system for beginners and experienced athletes, whether they train at home or in the gym.
New users begin with an eight-week Foundation program that teaches proper technique, introduces essential movements, and builds confidence progressively. After Foundation, members receive new Community workouts every week.
The app includes guided workout timers, coaching videos, movement tutorials, exercise alternatives, kettlebell-weight tracking, workout feedback, streaks, performance statistics, community leaderboards, progress photos, and shareable transformation summaries. It supports multiple workout formats including AMRAP, EMOM, Tabata, ladders, supersets, timed intervals, and traditional circuits while keeping the experience simple for the person training.
How we built it
I am the sole software engineer behind Kettlebell Body, with more than 14 years of professional experience, including work for Shopify and DraftKings. I designed and built the entire technical ecosystem rather than relying on an off-the-shelf fitness platform.
That ecosystem includes:
- A fully native iOS app built with SwiftUI
- A fully native Android app built with Kotlin and Jetpack Compose
- A TypeScript backend powered by Express, PostgreSQL, Prisma, Redis, and background workers
- A custom React admin platform for creating workouts, managing programming, publishing videos, and reviewing user activity
- A public marketing and educational website with search-optimized kettlebell guides
- Subscription billing, video streaming, authentication, analytics, attribution, experimentation, notifications, monitoring, and automated deployment infrastructure
I integrated services including RevenueCat, Mux, Firebase, Mixpanel, Customer.io, Branch, LaunchDarkly, Sentry, and Crashlytics. The backend was specifically designed to absorb sudden traffic bursts caused by viral creator and user-generated marketing campaigns. It uses caching, background job processing, idempotent operations, rate limiting, observability, and load-tested workout-completion paths to remain reliable under demand.
AI was a major part of the development process, but the real innovation was the engineering system I built around it. I divided the product into strongly isolated modules with explicit contracts, deterministic tests, screenshot verification, automated builds, and clear acceptance criteria. AI agents can work independently on bounded features, run the relevant quality checks, and open pull requests for my review.
The Android app is the best demonstration of this approach. I had never built an Android application before, so I used the completed iOS product as an executable specification. I directed agents through the product module by module—authentication, onboarding, workouts, timers, subscriptions, leaderboards, progress photos, analytics, and notifications—while the harness continuously checked behavior and visual parity. The result is a fully native, performant Kotlin application rather than a cross-platform wrapper.
Across the iOS app, backend, and administration platform alone, the project has more than 2,500 automated tests. Android adds its own unit, UI, accessibility, and screenshot-regression coverage. This system allows me to iterate at unusual speed while still protecting the product’s most important user journeys.
Challenges we ran into
Content production became one of our biggest bottlenecks. We worked with several videographers before finding a process that matched the quality and consistency the app required. Filming, editing, reviewing, and organizing hundreds of coaching clips often took longer than implementing the software that delivered them.
The workout engine was another major challenge. A timer looks simple until it must reliably support pauses, interruptions, app restarts, rest periods, exercise substitutions, different workout formats, progress synchronization, and identical behavior across two operating systems. We invested heavily in modeling these states correctly so users never lose a workout or receive inconsistent results.
We also had to balance the speed of AI-assisted development with the risk of regressions. That challenge directly shaped our modular architecture, automated testing, visual regression system, and review process.
Accomplishments that we're proud of
I am most proud that the complexity behind Kettlebell Body is nearly invisible to the user. The experience feels clean and focused: open the app, see this week’s training, and start working out.
Behind that simplicity is an entire platform built by one engineer; two fully native mobile applications, a scalable backend, a custom content-management system, a public website, subscription infrastructure, analytics, lifecycle messaging, and automated releases.
I am especially proud of shipping the Android application without previous Android-development experience. By combining a strong reference implementation, strict architectural boundaries, and carefully directed AI agents, I was able to reach close feature parity without sacrificing native performance or platform conventions.
What we learned
The biggest lesson was that effective AI development is not about writing a better prompt. It is about building a better environment around the agents.
Clear module boundaries, reliable tests, reproducible builds, detailed specifications, and automated feedback allow agents to work with far more independence. My role has shifted from manually writing every line to designing systems, defining product behavior, reviewing decisions, and protecting quality.
The workflow is now automated enough that I can monitor the product, review changes, and manage releases from my phone (even from beside the pool :) ). That freedom comes from the harness: production errors are surfaced automatically, agents can investigate them and prepare targeted pull requests, and approved service changes deploy after merging.
We also learned that once software development becomes this efficient, high-quality content and product judgment become the real constraints.
What's next for Kettlebell Body
The next version will expand Kettlebell Body from a workout application into a broader transformation platform.
We plan to introduce optional, goal-based nutrition guides that turn coaching knowledge into structured products for objectives such as building muscle, losing fat, or improving performance. These will complement the training experience and create additional ways to support members beyond their workouts.
Over time, we want Kettlebell Body to become a complete system for training, education, progress, and sustainable results while preserving the simplicity that makes the current app approachable.
Log in or sign up for Devpost to join the conversation.