LiftForge Full-Stack Training Platform Development by Mario ŽitkovićLiftForge Full-Stack Training Platform Development by Mario Žitković

LiftForge Full-Stack Training Platform Development

Mario Žitković

Mario Žitković

LiftForge — Full-Stack Training Platform

Production-style React and NestJS application for coaches and clients, with programs, progress tracking and separate deployment environments.

Main page
Main page

Overview

LiftForge is a full-stack training platform I am currently developing for coaches and their clients.
The application is designed around training programs, workout management and progress tracking.
I use it as a production-style project rather than a prototype, with a dedicated backend, authentication, database layer, Docker deployment and separate test, UAT and production environments.
Stack: React · TypeScript · NestJS · Prisma · Docker

The goal

The idea is to give coaches one place to manage training programs and client progress without relying on spreadsheets, chat messages and disconnected tools.
The project also gave me the opportunity to build a larger TypeScript system across both frontend and backend rather than relying on my usual ASP.NET Core stack.

Architecture

The application is split into:
React frontend
NestJS REST API
Prisma data layer
persistent database
authentication and authorization
Docker-based deployment
I keep the frontend, backend and persistence concerns separated so each part can evolve independently.

Environments and deployment

I set up separate:
test
UAT
production deployment workflows.
This lets me validate application changes before promoting them into production rather than treating deployment as a single-step process.
The application is containerized with Docker and deployed to a Hetzner server.

Backend work

The NestJS API handles the domain logic and exposes REST endpoints used by the frontend. Prisma is used for data access and schema management. The backend includes:
authentication
user roles
domain entities
REST endpoints
validation
persistence

Why I built it this way

One of the reasons for building LiftForge was to work outside my primary .NET stack and prove that my backend experience transfers to a different ecosystem. The architecture remains familiar:
explicit API boundary
structured backend
relational persistence
environment separation
repeatable deployment
The implementation technology changed, but the engineering principles did not.

Current status

In development
The core architecture, authentication, backend API and deployment workflows are implemented. Additional product functionality is still being developed.

Like this project

Posted Sep 22, 2026

Developing a full-stack training platform for coaches with React and NestJS.