Left top figure Right top figure

Wellcam.fit

Industry: FitTech / Wellness
Location: Italy
2 distinct user roles — clients and trainers — each with a dedicated interface, dashboard, and booking flow
3× platforms supported with a single adaptive codebase — desktop, mobile, and tablet

About the client

Wellcam S.R.L is an Italian FitTech company with a clear market positioning: make professional fitness training accessible online, without the friction of gym contracts or one-size-fits-all video subscriptions. The platform they envisioned operates as a two-sided marketplace — one side for clients looking to book individual or group fitness sessions, and the other for certified personal trainers looking to build and manage their client base digitally.

The Wellcam.fit platform needed to handle everything a real trainer-client relationship requires: profile discovery, lesson catalogues, calendar-based booking, recurring session scheduling, wallet management, and live session access — all within a single responsive application that works equally well on desktop, mobile, and tablet.

Challenge

Building a two-sided fitness marketplace within a 10-week window brought a specific set of constraints that shaped every decision:
  • Two parallel product experiences: Clients and trainers interact with the same platform in fundamentally different ways. A trainer needs scheduling tools, lesson management, and income tracking. A client needs discovery, booking, a wallet, and a wishlist. Both experiences had to be designed, built, and QA'd simultaneously without one blocking the other.
  • Complex booking logic: Beyond simple appointment booking, the platform required support for group lessons with variable frequency, recurring sessions auto-generated up to 12 months ahead based on trainer availability, package pricing with discount incentives, and a wallet-based payment flow with fund freeze and release at the point of lesson completion.
  • API integration with a pre-existing backend: The backend was built on the Bagisto e-commerce framework — a Laravel-based system not originally designed for fitness scheduling. Mapping fitness-specific concepts (lesson slots, trainer availability, recurring bookings) onto a commerce API required interpretation, custom logic, and close coordination between frontend and backend teams throughout the project.
  • Adaptive design across three surfaces: Every view — from the trainer dashboard to the booking flow to the lesson catalogue — had to function cleanly on desktop, mobile, and tablet, with a design that hadn't been fully resolved for all three surfaces when development began.

Have some question?
Let’s meet and talk.

Solution image

Solution

WWG structured the project in four phases — environment setup and API review, core module development, QA, and deployment — with two-week Scrum sprints keeping delivery predictable and client visibility high throughout.

Dual-Role Platform Architecture

The application was built around two distinct authenticated experiences sharing a common codebase. Trainer accounts access lesson creation and management, a weekly agenda view, client inquiry handling, and earnings tracking through a wallet interface. Client accounts access trainer discovery, a course catalogue with filtering and wishlist functionality, a booking flow, and a personal session history. Role-based routing and permissions enforce separation at both the interface and API level.

Solution image
Booking & Scheduling Engine

The booking system was one of the most technically involved modules on the project. Clients can book individual lessons or recurring group sessions, selecting frequency and duration. The backend generates recurring lesson instances automatically up to 12 months ahead, checking trainer availability at each slot before creation. Payment is handled via a wallet freeze mechanism — funds are reserved at booking and released to the trainer upon session completion, with Stripe handling top-ups and Zustand managing cart and wallet state on the frontend.  


Post-Demo UX Improvements

Following an internal product demo, WWG identified and proposed a series of UX enhancements that were incorporated before final delivery. These included showing exact booking dates in the calendar rather than abstract day-of-week selections, displaying trainer available time slots directly in the booking UI, surfacing current wallet balance inside the cart, adding a lesson history section to the wallet view, and extending the agenda with week-by-week navigation. Each improvement addressed a real usability gap identified during real-usage review.  

Solution image
SMS & Email Notification Infrastructure

Booking confirmations and session reminders are delivered via AWS Pinpoint (SMS) and email, using templates managed in the backend. Notification logic checks for sandbox restrictions and usage limits, with error logging in place to surface delivery failures during QA.

Technology Stack


Next.js / React
Frontend framework with server-side rendering for performance and SEO across all catalogue and trainer profile pages.

TypeScript
End-to-end type safety across components, API calls, and state management, reducing integration errors across the dual-role codebase.

Tailwind CSS
Utility-first styling enabling rapid, consistent UI development across all three adaptive surfaces — desktop, tablet, and mobile.

Zustand
Lightweight state management with persistence for cart, wallet, and session state — preventing data loss on page reload.

Bagisto API
Laravel-based e-commerce backend adapted to handle fitness-specific entities: lesson slots, trainer schedules, recurring bookings, and subscription packages.
Strapi CMS
Content management for course descriptions, category taxonomy, and platform copy — decoupled from the core booking logic.

Stripe
Payment processing for wallet top-ups and subscription purchases, with fund freeze and release tied to lesson completion events.

AWS S3 + Pinpoint
S3 for media storage (trainer photos, course assets); Pinpoint for SMS booking confirmations and session reminders.

Vercel
Frontend deployment platform providing CI/CD, edge caching, and environment management across staging and production.

Key Technical Challenges

Adapting an E-Commerce API to a Fitness Scheduling Domain

The Bagisto backend was built as a general-purpose e-commerce framework. Concepts like trainer availability windows, recurring lesson generation, slot-level conflict detection, and wallet freeze-release cycles don't exist natively in a shopping cart model. Bridging this gap required close collaboration between the frontend team and backend, extensive API mapping work, and custom logic on both ends — including building a recurring lesson generator that creates instances up to 12 months ahead while respecting existing bookings.

Wallet-Based Payment Flow with Fund Reservation

Rather than charging at the point of booking completion, Wellcam.fit uses a fund freeze model: when a client books a session, the cost is reserved from their wallet balance and held until the lesson takes place. Only then are funds released to the trainer. This required implementing a multi-state transaction lifecycle — freeze, hold, release, and transfer — with Stripe handling top-ups and the backend enforcing balance sufficiency checks before any booking is confirmed.

Solution image
Cross-Surface Adaptive Design with Incomplete Specifications

Design specifications were not fully resolved for all three platform surfaces when development began. The team worked with what was available, flagged gaps systematically through a structured Q&A process with the client, and made pragmatic decisions — defaulting to the simpler of two ambiguous design interpretations and flagging decisions for client review — to keep delivery on schedule without accumulating rework debt.

Challenge image
Challenge image

Results

  1. Full Marketplace Delivered in 10 Weeks
    From environment setup through deployment on Vercel — a fully functional two-sided fitness platform covering trainer management, client booking, wallet payments, recurring scheduling, and cross-browser QA.
  2. Booking Complexity Handled End-to-End
    Individual sessions, group lessons, and recurring bookings with automatic 12-month generation — all tied into a single, consistent checkout and wallet flow with package discount incentives built in.

  3. UX Improvements Shipped Before Launch
    Nine UX enhancements identified through internal review and post-demo feedback were scoped, designed, and delivered — including date-explicit booking, available time slot display, and trainer agenda navigation.

  4. Adaptive Across All Devices
    Full cross-browser and cross-device compatibility verified through structured QA — the platform performs consistently on desktop, tablet, and mobile across all major browsers.

Conclusion

Wellcam.fit is a good example of what it takes to build a two-sided marketplace with real business logic — not just screens and components, but a scheduling engine, a financial transaction flow, and a dual product experience, all working in sync. The 10-week timeline was tight, and the project required the team to make judgment calls under ambiguity without losing delivery momentum.
WWG delivered a stable, QA-verified platform ready for real user traffic — and went a step further by identifying and shipping UX improvements the client hadn't explicitly requested, because the product was better for it.
CEO picture
MOHAMED DERAMCHI,
CEO & Founder

Let's talk about it!

    AI & CREATIVITY
    📍 Varese, Elmec Informatica HQ
    🗓️ 17.04
    ⏰Evening event – Free admission (registration required)
    What does Pinocchio have to do with leadership in the age of AI? And how will AI transform the next 10 years of your business — and your team?
    A bold, unexpected, and deeply human journey into AI:
    Visions of how AI is reshaping creativity, business and society
    🔸Practical tools and stories to apply immediately
    🔸Use cases from design, marketing, and innovation
    🔸Not your typical AI talk — a creative trip into the tech future
    🔸Leadership lessons inspired by... Pinocchio (yes, really)
    🔸Finding the balance between innovation and reality
    🎤 Speakers: brilliant minds from strategy, innovation, and storytelling
    Join us