More than an online shop. An app with a plan that adapts itself
We built a custom platform for trainer Andrej Hrnko. Customers buy supplements, take the quiz and get a training plan with a meal plan that changes along with their workouts, progress and problems.

- Client
- LeanAbs Nutrition s. r. o., trainer Andrej Hrnko
- Industry
- Fitness · supplements and training plans
- What we did
- Shop, quiz, client area, adaptive plan, admin
What the platform does
One system for selling, the plan and daily operations. No third-party commerce platform.
A shop with sales elements
Flavour picker, free-shipping progress bar, 14-day money-back guarantee, an order bump and an offer right after adding to the cart.
A quiz that sells the plan
Twelve questions, an e-mail gate and a result with a recommended plan. A visitor becomes a programme customer.
A plan that changes itself
A weekly check-in and rules that adjust the training and the meal plan based on how the customer is doing.
Client area
This week's plan, workout mode, meal plan with recipes and macros, shopping list, weight and progress photos.
Safety first
Health answers are screened and set the limits of the plan. Safety notices cannot be dismissed.
Repeat purchases
Subscriptions, loyalty points, referrals, back-in-stock alerts, photo reviews and discount codes.
Payments and delivery
Card via Stripe, bank transfer with a PAY by square QR code, cash on delivery, Packeta pickup points and invoices.
A Shopify-like admin
Orders, products, customers, purchased plans, e-mail flows, programme prices and content in one place.
Challenge
Andrej Hrnko wanted to sell supplements and also give customers a real service: a tailored plan that does not end up as a PDF. A simple online shop could not do that. He needed an app where the plan changes as the customer progresses, and a shop that sells.
Solution
We built one custom platform for the shop, the quiz, the client area and the admin. The quiz picks the plan, after purchase the meal plan and training are calculated, and a check-in adjusts them every week. The customer sees every change, and for sensitive cases a human decides.
Shop
A shop that leads to the purchase
The product page has everything a customer needs to decide. A flavour picker, a bar showing how much is left for free shipping, and a 14-day money-back guarantee.
- An order bump in the cart and an offer right after adding a product
- A one-click offer after purchase when the customer consented to a saved card
- Subscribe and save, points for purchases and referrals to friends
- Packeta pickup points, QR bank transfer, cash on delivery and invoices


Quiz
A quiz that sells the plan
Twelve questions about goal, body, experience, time for training, food and obstacles. At the end the customer learns which of six types they are and gets a recommended plan.
- Questions with body images, two interstitial screens and an e-mail gate before the result
- Six types, for example “New start” or “Stuck on a plateau”
- A result with a 1- or 2-month plan and a 48-hour intro price with a countdown
- Calories are not calculated in the quiz. They are calculated after purchase from a six-step questionnaire



Client area
Everything for this week in one place
After purchase the customer enters the client area. They see today's workout, the day's meals, the check-in and their weight. They start the workout in workout mode and log it there.
- A meal plan drawing on 109 recipes, with macros and 14 allergen flags
- A shopping list built from the meal plan, with an estimated total
- Measurements, a weight chart, progress photos and a PDF export of the plan
- Orders, subscriptions, addresses and points in the same account



Adaptive plan
A plan that changes along with the customer
Once a week the customer answers how it went: completed workouts, hunger, energy, sleep, stress, pain and weight. Rules adjust the plan from that. They see every change in the “What changed” feed and in the plan history.
- Three tiers: A applies automatically (the customer can revert it that week), B is a proposal to confirm, C goes to a human
- Calories do not change in the first 21 days or based on a single weigh-in
- Low completion two weeks in a row brings a lighter week. After a break the load ramps back up gradually
- Pain reduces the load and red pain goes to review. Poor sleep freezes calorie cuts
- Every engine change has to pass 34 test profiles, with over 1,600 test files in total


Admin
An admin where the owner runs the whole business
The shop and the programme can be set up without a developer. The owner edits products, programme prices, e-mails and content, and sees where people drop off in the quiz.
- Orders, returns, invoices, subscriptions, customers and segments
- Purchased plans and check-ins with review decisions
- Programme prices: length, intro price and price floor, plus drop-off per quiz question
- E-mail series A–E for the quiz, abandoned cart after 1, 24 and 48 hours, welcome, win-back and refill reminders
- Two-factor login and roles



What we used
- Next.js 16
- React 19
- TypeScript
- Tailwind 4
- PostgreSQL (Supabase)
- Drizzle
- Stripe
- Packeta
- react-email
- react-pdf
- Sentry
- Own job worker on a VPS
Want your own platform instead of a template?
Tell us what your customer should be able to do. We will propose how to build it.
