explaingit

codee-sh/payload-training-app

Analysis updated 2026-05-18

10TypeScriptAudience · developerComplexity · 4/5Setup · moderate

TLDR

An open-source coach-client workout tracking app: coaches build training plans in a Payload CMS admin panel, clients log sets through a mobile web interface.

Mindmap

mindmap
  root((training app))
    Coach admin
      Build plans
      Define workouts
      Manage exercises
    Client web app
      Log sessions
      Track sets and reps
      View active plan
    Data model
      Plan layer read-only
      Log layer client writes
      Set links to plan row
    Tech
      Next.js frontend
      Payload CMS backend
      PostgreSQL storage
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Set up a private coaching platform where coaches create workout plans and clients log training sessions online

USE CASE 2

Fork and extend this app as a starting point for a fitness SaaS product with coach and client roles

USE CASE 3

Study how to structure a Payload CMS and Next.js app with clean separation between plan templates and execution logs

USE CASE 4

Use share-links to give a third party read-only visibility into a client's training plan or results

What is it built with?

TypeScriptNext.jsPayload CMSPostgreSQLDocker

How does it compare?

codee-sh/payload-training-appanousss007/ng-blatuiblockedpath/pi-xai-oauth
Stars101111
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderateeasy
Complexity4/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires a PostgreSQL database and Node.js, Docker Compose is provided for local dev setup.

License terms are not clearly stated in the available README.

In plain English

This is an open-source coaching and workout tracking app where coaches manage training plans through an admin panel and clients log their workouts through a mobile-friendly website. It is built with Payload CMS for the backend and content management, Next.js for the web interface, and PostgreSQL for storage. The app splits its users into two roles. Coaches log into an admin area where they build training plans organized from top-level programs down through weekly blocks, individual training days, exercise groups, and specific exercise rows with target sets and metrics. Clients log into a separate web app where they see their active plan, work through sessions in order, and log each set with values like reps, weight, and rate of perceived exertion. The data model cleanly separates the plan layer from the log layer. A coach writes the plan template once, and clients record their performance against it in separate tables. Logging never modifies the original plan, so the template can be reused or reviewed without being changed by client activity. When a client logs a set, it links back to the exact exercise row in the plan, giving coaches a direct comparison between what was prescribed and what was performed. The app supports different workout formats within a session: standard sets, EMOM (every minute on the minute), AMRAP (as many rounds as possible), and Tabata intervals. Exercises can track different metrics depending on their type: weight and reps for strength work, time and distance for cardio. The exercise catalog is shared across all plans and managed by coaches. Coaches can share read-only links to a client's plan or training results, with expiry dates and permission controls. Hidden coach notes about a client remain invisible to the client. Installation requires Node.js and PostgreSQL, and Docker Compose is provided for local development.

Copy-paste prompts

Prompt 1
Show me how payload-training-app's data model separates the plan layer (coach writes) from the log layer (client writes) and how a SetLog links back to a WorkoutExerciseRow.
Prompt 2
I want to add a new workout protocol type (like cluster sets) to this training app. What Payload CMS collections and fields do I need to modify?
Prompt 3
How does the training app handle client authentication separately from coach authentication? Walk me through access control for the clients versus users collections.
Prompt 4
I want to deploy this training app to production. What environment variables, PostgreSQL setup, and Payload CMS configuration steps are required?

Frequently asked questions

What is payload-training-app?

An open-source coach-client workout tracking app: coaches build training plans in a Payload CMS admin panel, clients log sets through a mobile web interface.

What language is payload-training-app written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, Payload CMS.

What license does payload-training-app use?

License terms are not clearly stated in the available README.

How hard is payload-training-app to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is payload-training-app for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub codee-sh on gitmyhub

Verify against the repo before relying on details.