Krank connects personal trainers with clients through personalized workout plans, session tracking, and progress analytics. We built the mobile apps, the trainer web dashboard, and the API behind both — and shipped to both app stores in one release cycle.
Trainers ran their business out of spreadsheets and WhatsApp
Krank came to us with a validated problem and no product. Independent trainers were juggling workout plans in Google Sheets, progress photos in WhatsApp threads, and payments in a third app. Clients had no single place to see their plan, log a session, or track whether any of it was working.
The brief had a hard constraint: launch on iOS and Android simultaneously, on a seed-stage budget, without the product feeling like a compromise on either platform.
One codebase, two audiences, ruthless scope
We split the product by who holds the phone. Clients got a React Native app focused on exactly three jobs: see today's workout, log it fast, and watch progress accumulate. Trainers got a web dashboard where the heavier work lives — building plan templates, managing rosters, and reviewing client data on a screen big enough to think on.
Everything else — social feeds, meal planning, wearable integrations — went on the roadmap, not in the build. That discipline is what made a 14-week timeline honest.
React Native front, Node.js core, real-time where it earns its keep
A single Node.js API serves both apps, with MongoDB for flexible workout-plan documents and Firebase powering auth and push notifications. Session logging works fully offline — workouts happen in basement gyms with no signal — and syncs when connectivity returns.
Real-time updates are scoped to the one place they matter: when a trainer edits tomorrow's plan, the client's app reflects it immediately. Progress photos upload to S3 with client-side compression, keeping the data bill flat as usage grew.
Logging a set takes two taps, because motivation is perishable
Fitness apps die in week three, when novelty fades and friction wins. We designed the logging flow around that fact: the app opens directly onto today's workout, each set confirms with one tap, and rest timers start themselves. Charts celebrate streaks and personal records rather than punishing missed days.
Trainers see the mirror image — a roster view that surfaces which clients are slipping, so a human check-in lands before a cancellation does.
Both stores, one release, retention the business could grow on
Krank shipped to the App Store and Play Store from a single codebase in one release cycle, holding a 4.8 rating through launch quarter. Week-4 client retention settled at 62% — roughly double the fitness-app norm — and trainer accounts became the growth engine, with each trainer bringing their full client roster onto the platform.
Their team runs it now — that was always the plan
We handed over documented infrastructure, a CI pipeline that ships both apps from one merge, and a two-week transition with their first in-house engineer. Krank owns every line of code and every credential. We stay on call for release-week support, which is exactly as much of us as they still need.
Inside the Product
Built With
They kept cutting scope I thought we needed and shipping things I did not know we needed. Launch week was boring — which I now understand was the point.Founder · Krank
More Case Studies
Want Results Like These?
Tell us what you're building — or what's breaking. We'll come back with a concrete plan and a fixed price.
Book a Free Consultation© Copyrights 2023-2026 | Axomble | All Rights Reserved
