Skip to main content

STALLYONS TECHNOLOGIES

Innovating the future of digital with AI, design, and technology. From AI to Web — Stallyons transforms your ideas into digital reality. Building smarter digital experiences through AI, innovation, and technology. Innovating the future of digital with AI, design, and technology. From AI to Web — Stallyons transforms your ideas into digital reality. Building smarter digital experiences through AI, innovation, and technology.
EN
background

Blog

Fitness Coach Panel:
A Laravel and Filament MVP

Fitness Coach Panel: A Laravel and Filament MVP

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.

The Starting Point: Two Roles, One Set of Data

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:

  • Role-scoped access on shared data. Coaches and admins work on the same users, plans and results, but a coach sees only their assigned clients while an admin sees every subscribed user.
  • A living coaching workflow. Coaches record weekly measurements, set training and meal plans, and adjust each client’s macronutrient intake over time, so a programme evolves rather than sitting static.
  • Real platform oversight. Admins assign coaches to users, judge coach performance, create activities, watch expiring subscriptions and manage reusable templates.
  • Reusable programmes. Common training programmes built once as templates and assigned to many users, not rebuilt each time.
  • Guided onboarding. New users set up through a multi-step flow so their coaching starts on a complete profile.
  • Speed without waste. All of it shipped quickly as an MVP, on a stack that favours iteration rather than becoming throwaway.

The Build: Filament Panels Over One Laravel API

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:

  1. The coach opens an assigned user and reviews their exercise results.
  2. They upload the week’s measurements: weight, height and fat mass.
  3. They set or update the training and meal plans for the period.
  4. Over time, they adjust the user’s macronutrient progression so the programme keeps moving toward the goal.

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.

Technical Architecture

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.

  • Users and results. Both panels read users and their results, coaches see their own users and admins see all subscribed users, with individual exercise results and weekly measurements available per user.
  • Plans and progression. Coaches and admins set training and meal plans and adjust macronutrient progression gradually, so each user’s programme evolves rather than staying fixed.
  • Coaches and performance. Admins assign coaches to users and track performance by active and inactive users, so the platform knows which coaches keep their clients engaged.
  • Training templates. Admins create reusable templates, view the list, and assign a template to a user, so common programmes are built once and reused.
  • Activities and subscriptions. Admins create activities for themselves and coaches, and are alerted about expiring subscriptions, so tasks and renewals live in the panel.
  • Onboarding and the API. A multi-step onboarding flow sets up new users, and the Laravel REST API with token auth serves both the panels and the fitness app.

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.

Challenges Solved

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 Result

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.

Frequently Asked Questions

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.

Leave a Reply