01 / The problem
The first 6-Pack Macros app was native Android code, written in Kotlin. It logged food and listed workouts. But it could not track a workout while you train, it had no AI and no chat with your coach, and the design needed a fresh start.
02 / What I built
One codebase, two stores
I moved the app from Kotlin to React Native. One TypeScript codebase now ships to iOS and Android.
A new design system
Tokens, a theme and shared parts came first. Then every screen was rebuilt on top of them.
A live workout tracker
Pick a routine, log each set as you go, and see your past records for every exercise.
AI meal plans
Pick the foods you like, your allergies, cuisines, meals per day and how long the plan runs. The app builds the plan day by day.
Scan a barcode or a plate
One camera screen reads barcodes. Flip it, take a photo of your meal, and AI works out what is on the plate.
Chat and coach mode
Live chat with your coach, with photos and files. A coach can step into any client's app and see their day.
03 / Key decisions
01
Move first, redesign second
The React Native version came first and kept the same flows as the Kotlin app. The new design came after, on its own design system. So the two big changes never landed on people at the same time.
02
One scanner, two modes
Barcodes are read right on the phone. A meal photo goes to the server for AI, and each person gets a monthly scan limit, so AI costs stay capped. The screen shows how many scans are left.
03
A coach steps into the client's app
There is no second app for coaches. A coach picks a client and the whole app switches to that client's data, so they see exactly what the client sees. Switching clients clears the old macro data first.
04
Sign in once, stay signed in
Every request goes through one shared client. When the access token runs out, it gets a new one in the background, so people are not thrown back to the login screen.
04 / Screens
05 / Outcome
The rebuilt app is live on Google Play and the App Store. One TypeScript codebase replaced the Kotlin one.
Members log food, train and message their coach in one app.
A coach can open that same day from their own phone.



