BeFT
Everything trainers, gyms and their members need, in one product.
Built for the people working out and the trainers, gyms and brands who sell to them. It started as one account doing both jobs, and ended as a member's app and a seller's dashboard.
1account before
account before — Doing a member's job and a seller's at once
4roles after
roles after — A member, a trainer, a business, and an admin
6months
months — The app, the dashboard and the system under both, from scratch
Overview
An app for training, and a dashboard for selling.
BeFT is a fitness product in Kuwait, and it had been in design for about a year before I arrived. Members follow plans for training and eating, and trainers, gyms and brands sell them plans, products, challenges and consultations.
I was hired as the senior UX/UI designer and ended up doing product design, rebuilding every screen for the two sides. I built the figures here in code, with help from AI.
Before and after
Before
One app, on the phone
Seven or eight versions before mine
Mine
An app, a dashboard, one system
Rebuilt from scratch, phone and web
Problem
One account did a member’s job and a seller’s at the same time.
The app already had workouts, meals, challenges, a store, a wallet and a community. Each was drawn one idea at a time, with no agreement on who a screen was for.
One account carried both jobs, and the two shared almost nothing. Someone training wants to open a workout and follow it, while a business wants a catalogue, orders, and money coming in.
What I was handed
What I rebuilt
A day in the app
A member trains, tracks, and buys in one app.
The app opens on a calendar, with the day’s workouts, meals, and metrics laid out under it, from steps to sleep. All of it is one plan, bought from a trainer or gym, playing out a day at a time for weeks.
Home
The day, already laid out
A week across the top, then the workouts, meals and metrics under it. One plan, playing out a day at a time.
Workout details
Change the session before you start it
Every block opens a menu. Swap an exercise, add one from the library, or push a row out of the plan.
Meal details
Swap what you are eating, one part at a time
A meal is built from parts that each carry their own protein, carbs and fat, so one can be replaced without rebuilding the meal.
The rest of the app
Challenges run alongside it, and a Progress tab collects everything a member has done. Community is where the gyms and trainers post.
What I found
The AI-written plans were a static mockup.
Before I drew anything, the founder and I went through the old file together, and he brought his own list of problems. The AI coach was the biggest thing that stopped at the screen, but not the only one. Onboarding meant to feel like a chat was a plain form, and booking a consultation led nowhere.
So I didn't rebuild the AI coach. A seller writes every plan now, and the AI only suggests: plans that suit you, a meal you can edit, bundles in the store. The file below is where the old plans lived.
The split
Buyers and sellers got separate accounts.
A member buys plans, consultations and products. The sellers are a trainer, a business and BeFT, and each seller can do everything the one before it can. Only BeFT, the admin, can suspend a seller.
Who can do what
Four ways in, and what each one could do.
| Can | Member | Trainer | Business | adminBeFT |
|---|---|---|---|---|
| Buy from the Store | Yes | No | No | No |
| Sell plans | No | Yes | Yes | Yes |
| Sell consultations | No | Yes | Yes | Yes |
| Run challenges | No | Yes | Yes | Yes |
| Sell physical products | No | No | Yes | Yes |
| Suspend a seller | No | No | No | Yes |
I argued for separate accounts before any screens were drawn.
In the old app a seller ticked a box at signup to say they were a provider, then flipped a switch in the menu to reach their seller screens. Making that switch better was the cheap fix, so I weighed it against two accounts, one to buy and one to sell.
Considered
One account, a better switch
- Nothing new to build
- Buying and selling still share every screen
- A gym signs up like a solo trainer
Chosen
Two accounts, four roles
- Each role opens on the thing it came to do
- Capability can differ by who signed up
- A seller who trains needs two accounts
Signup decides which kind of seller you are, and what you can sell.
A trainer and a business sign up differently, so the form splits into Personal and Business at the first step. A trainer shows they can train, and a gym or a brand shows it is registered. Only a business can sell physical goods.
BeFT, the admin, uses the seller’s dashboard with one extra menu.
BeFT sells like any other seller, and as the admin it also reviews and suspends the people selling. A second product would have meant building the same screens twice, so the extra work became one menu.
The member's app
Three decisions that shaped the member's app.
A workout runs from the countdown to the summary in one go.
In the app I inherited, the workout player was a photo with next and previous buttons. Now a member starts a workout, works through its blocks of sets and rests, and ends on a summary. The player counts the sets, times every rest and holds what was logged, so the member only has to train.
Each day on the calendar shows what got done at a glance.
Teal on the ring is the workout, orange is the meal, and each fills as it gets done. A grey circle marks the day a member is looking at and turns purple on today, so they can check Monday and still see where today is.
I tried two bottom bars, and buying decided which one stayed.
The bar holds five buttons and I had six things for it. I tried an Explore feed for finding gyms and trainers, and buying then meant going through a gym’s profile. Store kept its button instead, and Profile moved to the top of Home.
The seller's dashboard
A trainer’s business came out of the member’s app.
A trainer’s wallet, sales chart and plan forms all lived inside the member’s app, behind a switch in the menu. I gave sellers a web dashboard for them instead. A seller lists plans, products and consultations there, and gets paid for all three the same way.
A trainer builds a workout from one shared library.
Every exercise and meal component lives in one library. Exercises are tagged by muscle and equipment, meals by category and macros, and a trainer can add any that’s missing. They pick what they want, then set the order, the timing and the number of rounds.
A workout plan, a diet plan and a bundle are all one page.
A trainer sells three kinds of plan: workouts, diets, and bundles of both. One page swaps its stats and lists to fit each kind, so a trainer learns one form and a member reads every plan the same way. Everything in it comes from the library.
I put a seller’s clients beside their sales.
A seller opens the dashboard to check two things: what sold today, and whether the people who bought are still following their plan. So sales sit on the left, and clients on the right. Whoever has done the least sits at the top.
What I left open
An admin suspends sellers from inside a seller’s dashboard.
Putting admin behind one extra menu saved building a second product, and this is what it cost. An admin gets no signal that they have crossed from running a shop to policing one.
Left open
I'd give the admin its own screens, away from the ones a seller works in. That's the version I didn't get to.
Outcome + reflection
A member and a seller each got their own place.
What I designed.
In six months I designed the whole product the founder had been describing. The member’s app, the seller’s dashboard and the admin tools all came out of one system other designers could build against.
Six sections for members. Home, Store, Progress, Challenges, Community, and a 3-section Account directory.
Authoring, orders and money. Authoring tools, orders, revenue split by stream, and wallet withdrawals.
Control over a seller's account. Admin-only: suspend, reactivate, and remove, inside the dashboard a seller already works in.
One coherent system. The inherited purple AI-coach brand rebuilt dark, with one component library, one type hierarchy, and one name for everyone selling, which the app calls a provider.
AI that suggests, never writes. It matches you with plans, picks a meal you can edit, and personalises store bundles. Every plan is written by a seller.
What never shipped.
A public launch. The design outran the build. The product is still in development.
The daily messages. Good day, bad day, a note from a coach. They were a thoughtful part of the old app and I dropped them.
What I learned.
I should have raised the build gap sooner: I could see early that the build wasn’t keeping up with the design, and I stayed in a design-only lane too long, while the founder still had room to change course.
Splitting buyers from sellers shaped every screen: it was decided before any screen was drawn, and the member’s app and the seller’s dashboard both follow from it.
Auditing the old file changed what the rebuild was for: going through the file screen by screen showed the AI coach’s plans were a static mockup and three headline features were drawn but not built.
Credits
Built with the BeFT founder, whose vision was the brief, alongside a PM and the dev team. The designer before me left good ideas in the file, and the ones worth keeping are still in mine. I supervised the junior designers who finished parts of the seller's dashboard against my system.
Next project · 03 / 03









































