Blog
A fitness coach starts her Monday with a dozen clients to move forward. One needs this week’s measurements logged, another’s macros nudged down for the next training block, a third is ready for a fresh meal plan. Somewhere above her, an admin is watching a different picture entirely: which coaches are keeping their clients active, whose subscriptions are about to lapse, and which reusable training template to roll out next.
Serving both of those people from one system is the whole point of this build. The Fitness Coach Panel is the coach and admin control panel behind a fitness coaching app, delivered as an MVP on Laravel and Filament, with a REST API that the app itself consumes.
Put simply, two roles share one set of users, plans and results, but with different scope and powers: coaches run their assigned clients, admins run the platform, and the panel was stood up fast so the coaching workflow could be validated before a bespoke frontend was ever built.
A coaching app needs a management surface where coaches run their clients and admins run everything, and for an MVP it has to arrive quickly without dropping the features that matter. The two roles act on the same users, plans and results, but their remit is very different, and that difference shaped the build.
The requirements broke down into a handful of hard parts:
The panel is built on Laravel with Filament, delivering two role-scoped dashboards over a single REST API. Coaches get a panel showing their assigned users and each user’s exercise results, with tools to upload weekly measurements (weight, height and fat mass), set training and meal plans, and adjust macronutrient progression gradually. Admins get a broader panel: every subscribed user and their results, coach-to-user assignment, coach-performance tracking by active and inactive users, activity creation, alerts for expiring subscriptions, and a training-template system, alongside the same plan, meal and progression tools coaches have.
Choosing Filament on Laravel was the decision that made the timeline realistic. Filament generates the role-based CRUD panels and dashboards quickly, and a single Laravel API with token authentication serves both the panels and the fitness app, so one set of logic backs every surface. That is the discipline behind good MVP development: ship a complete, working management surface first, and skip the bespoke frontend until the workflow is proven.
The coaching workflow itself runs as a clear progression per client, which is what makes it a coaching service rather than a static plan:
Because the same data model, users, coaches, plans, measurements, templates and subscriptions, backs both the panels and the app, a coaching product like this sits naturally alongside other subscription-based SaaS development work, where the management backend and the customer-facing app draw on one source of truth.
Under the hood, this is an MVP on Laravel and Filament: a REST API and two role-based panels over one database. The architecture centres on a few subsystems, each mapped to part of the brief.
The single shared API was the choice worth protecting: one backend for the panels and the app means the coaching logic is written once, not duplicated and left to drift.
The harder problems were about giving two roles their own control without splitting the system in two. Role-based access kept coaches to their assigned clients and gave admins the whole platform, over one data model. The measurement, plan and macro-progression tools turned each user’s programme into something a coach actively manages rather than a fixed sheet. Coach assignment, performance tracking, activities and subscription alerts gave admins a real oversight panel, not just a larger coach view. A training-template system let one programme be built once and assigned to many. Shipping it fast as an MVP is the pattern many SaaS startups need: validate the workflow with real coaches and users before over-building.
The outcome is a complete coach and admin panel that covers the workflow end to end, from onboarding a user to tracking their results and their coach’s performance. Coaches manage measurements, plans and progression for their clients. Admins manage users, coaches, templates, subscriptions and activities. Common programmes are reused through templates, coach accountability is measured by active and inactive users, and the whole surface stood up quickly on Laravel and Filament, ready to iterate as the product grows.
It fits the business because the stack was chosen to ship a full management surface fast, not to perfect a frontend before the workflow was proven. If you are building the backend behind a coaching or subscription app, you can hire full-stack developers who have built exactly this API-and-panels model, or tell us about your app and we will map your roles, data and workflow to the right MVP.
What is the difference between the coach panel and the admin panel?
Coaches see only their assigned users and manage each one’s measurements, training and meal plans, and macronutrient progression. Admins see every subscribed user and add platform-wide tools: assigning coaches to users, tracking coach performance, creating activities, watching expiring subscriptions and managing reusable training templates, on top of the same plan and progression tools coaches have.
Why were Laravel and Filament chosen for this MVP?
The deliverable was role-based management panels, and Filament on Laravel builds those dashboards and their access rules quickly. That let the team stand up the whole coach and admin surface fast, validate the coaching workflow, and iterate, rather than spending the first version on a bespoke frontend.
Does the same backend power the fitness app?
Yes. A single Laravel REST API with token authentication serves both the coach and admin panels and the fitness app, so the same logic and data back every surface instead of being duplicated across separate systems.
How do reusable training templates work?
Admins create a training template once, view the full list of templates, and assign a template to a user. Common programmes are built a single time and reused across many users, which keeps programmes consistent and saves rebuilding them for each client.
How are new users onboarded?
New users are set up through a multi-step onboarding flow that captures the details their coaching needs from the start, so a user begins on a complete profile rather than a partial one.