WorkitPT seamless trainer-client connections, designing a dual-sided fitness platform for booking, payments, and coaching
Role
Duration
Team
Platform
Key Metric 1
One platform serving both trainers and clients end-to-end
Key Metric 2
Registration, Booking, Payments, Messaging, Sessions, Reviews
Key Metric 3
Stripe payment system ensuring fair transactions for both parties
Summary
Overview
Finding a good personal trainer is one problem. Booking them, paying them, and staying in touch without it turning into a WhatsApp thread is a completely different one. WorkitPT was built to solve both sides of that equation, for clients who want certified trainers that match their goals, and for trainers who are managing clients, sessions, and payments manually and losing time to admin that should go to coaching. I designed the full platform, mobile app and web portal, covering onboarding, trainer discovery, session booking, Stripe escrow payments, post-booking messaging, and analytics dashboards for both user types.
Two completely different users, one platform, designed so neither has to think about the other's side.

Problem Framing
The Core Problem
Clients couldn't find trainers that matched their specific goals without trawling through generic directories with no useful filters. Trainers were managing bookings, payments, and client communication across three or four separate tools, none of which talked to each other. The result was friction on both sides of every transaction, and no single platform that handled the full workflow for either party.
Why it mattered
For clients, a bad discovery experience means they either settle for the wrong trainer or give up on personal training entirely. For trainers, manual admin is a direct revenue problem, time spent on scheduling and chasing payments is time not spent coaching or growing a client base. WorkitPT needed to remove both failure modes simultaneously, because a platform that works for one side but not the other doesn't work for anyone.
Supporting data / evidence
User interviews with both clients and trainers surfaced five consistent pain points, difficulty filtering trainers by specialty and certification, no session reminder system, no centralised schedule and payment management, no direct meeting link integration for online sessions, and unnecessary back-and-forth before sessions were confirmed. Competitor analysis confirmed that streamlined payment processing, in-app chat, and advanced search filters were the three biggest gaps in existing fitness platforms.
Role & Team
My Role
I handled the complete design scope across both sides of the platform, brand identity, research synthesis, UX architecture, wireframes, design system, and all final UI for the client app, trainer app, and web portal. This included designing the escrow payment flow, the post-booking messaging unlock logic, and the trainer analytics dashboard, the three highest-complexity interactions in the platform.
Team Composition
Solo designer. WorkitPT's product team provided the platform brief, feature requirements, and access to trainer and client users for interview and prototype testing rounds.
Stakeholders & decision-makers
WorkitPT's product and business leadership. High-fidelity prototypes were tested directly with both trainers and users before finalisation, with particular focus on the booking flow, payment handling, and communication features.
Approach
Strategy & framework
The core design challenge was building one coherent platform for two user types with almost nothing in common except the transaction between them. My approach was to design the shared transaction layer first booking, payment, and session confirmation and then build the client-facing and trainer-facing experiences outward from that shared core. Every feature that appeared in both interfaces needed to feel native to each user's context, not like a mirror image of the other side.
Research methods used
Direct user interviews with both client and trainer personas. Competitor analysis across existing fitness booking and trainer management platforms. Pain point mapping for each user type separately before identifying where those pain points intersected. Persona development covering four distinct profiles a marketing executive seeking consistency, a software engineer preferring virtual sessions, a certified fitness trainer managing bookings manually, and a strength coach struggling with client organisation. Prototype testing with real users on booking flows, payment handling, and messaging features.
Key insight(s)
The messaging unlock mechanic was the most important UX decision in the entire platform, and it came directly from trainer interviews. Trainers didn't want open messaging with anyone who hadn't booked yet. Clients didn't want to feel like they were buying access to a conversation. Locking messaging to post-booking solved both problems simultaneously: it kept interactions professional for trainers and made every conversation purposeful for clients. One constraint that satisfied two completely different user motivations.

Challenges
Primary challenge
Designing a dual-sided platform where the same underlying data a session, a payment, a message needs to look and behave completely differently depending on who's looking at it. A session card on the client side shows time, trainer, location, and a booking CTA. The same session on the trainer side shows payment status, booking requests, client details, and an accept/reject action. Keeping those two views in sync without designing two separate systems was the core technical and design challenge.
How I navigated it
I built the design system first and treated session, payment, and user components as shared primitives with role-specific variants. The same base component rendered differently based on user context client or trainer rather than being two separate components that happened to look similar. This kept the system maintainable and ensured that changes to core interactions propagated correctly to both sides.
What I Did differently
The admin interface dashboards, analytics, user management, payment and financial management was scoped and designed but deserved more dedicated testing time. Admin tools are easy to deprioritise in favour of the user-facing flows, but a platform where the operator can't manage disputes, flag accounts, or pull clean financial reports creates operational risk that compounds post-launch. I'd build a dedicated admin testing round into the project timeline earlier.
Solution
What I designed
A full fitness marketplace platform across three interfaces a client mobile app, a trainer mobile app, and a shared web portal built on six interconnected modules: user registration and profile setup, trainer profiles and availability management, session booking with in-app notifications, post-booking messaging, Stripe escrow payment gateway, and feedback and review collection. The design system runs on Manrope across app and web typography scales, with an orange-accented dark palette (#E37048 on #1A1A1A) that communicates energy and professionalism without defaulting to the neon-heavy fitness app aesthetic.
Key design decisions
1. Specialty and certification filters as the primary discovery mechanism. Rather than a generic search bar, trainer discovery was built around structured filters workout type, session type (one-on-one, group, gym, home, outdoor), difficulty level, location, and price. These match exactly how a client actually narrows their choice, and they surfaced in user interviews as the single most-requested feature absent from competitor platforms. 2. Escrow payment via Stripe for trust on both sides. Standard payment flows leave one party exposed either the client pays before knowing the session will happen, or the trainer delivers before knowing they'll be paid. The escrow system holds payment until session completion, which removes the risk for both parties and makes the platform the trusted intermediary rather than a middleman that can be bypassed. 3. Trainer analytics dashboard as a business management tool. The trainer-side dashboard wasn't designed as a reporting screen it was designed as a business tool. Total income, customer count, session history, weekly activity, pending payments, and booking requests were all surfaced at a glance. Trainers using WorkitPT aren't just coaching they're running a small business, and the dashboard was designed to reflect that.










Results & Impact
Quantitative results
Full dual-sided platform delivered across mobile app (client and trainer) and web portal. Six core modules built and tested registration, booking, payments, messaging, sessions, and reviews. Prototype testing completed with both trainer and client user types across booking flow, payment handling, and communication features.
Qualitative outcomes
User interview feedback post-testing confirmed five specific improvements over existing tools trainers could filter clients by specialty and certification for the first time, session reminders reduced no-shows, schedule and payment management in one place simplified trainer operations, meeting link integration made virtual sessions frictionless, and the post-booking messaging lock eliminated the unnecessary back-and-forth that trainers found professionally frustrating. Every feature tested was validated directly against the interview pain points it was designed to address.
Business impact
WorkitPT launches with a platform that solves the market gap competitor analysis identified streamlined payments, in-app communication, and advanced search filters in a single product. The escrow payment system gives both trainers and clients a reason to stay on the platform rather than taking transactions offline, which is the most important retention mechanic in a two-sided marketplace. The trainer analytics dashboard creates stickiness on the supply side trainers who use it to manage their business have a reason to stay that goes beyond just finding clients.
Next Steps
What's next (and why)
The review and feedback system is live but underutilised in the current design it's a module that gets better the more transactions happen on the platform. Post-launch, building a more prominent review prompt into the session completion flow, and surfacing trainer ratings more aggressively in discovery, would compound the platform's value as the review database grows.
Open questions / hypotheses
Does the escrow payment model create any friction at the booking confirmation step do clients hesitate longer knowing payment is held until session completion? And for trainers managing high session volumes, does the current dashboard give them enough at-a-glance information to manage their week, or does the data density need to increase as their client base grows?
Learnings
WorkitPT was the most complex platform I've designed in terms of role separation two distinct users, three interfaces, six modules, all needing to stay in sync. The biggest lesson was that shared component architecture isn't just a development concern, it's a design concern. Deciding early which interactions were shared primitives and which were role-specific variants saved significant rework later and kept the system coherent as it scaled. On any two-sided platform, I'd make that architectural decision before opening a single artboard.
