~/dev.jaspreetsingh
Full-Stack

TrainEasy Web — Health & Measurements Tracker

Membership-based web platform for tracking body measurements, water intake, meals, and connecting with a coach. Self-hosted on a custom VPS.

Next.jsTypeScriptPostgreSQLNode.jsVPS
↗ Live Demo

Problem

Fitness apps are either too simple (basic workout loggers) or too expensive (full gym management platforms). Coaches and small gyms needed something in between — a platform that handles memberships, tracks client progress, and enables direct coach communication.

Solution

A membership-based platform where users track meals, water intake, and body measurements over time. Members can connect with their coach directly in-app. Gym admins manage memberships and access. Built as a PWA for installability without an app store.

System Architecture

Next.js fullstack application with a custom Node.js backend. PostgreSQL for all user, membership, and tracking data. Self-hosted on a VPS with custom deployment and reverse proxy configuration — not reliant on managed platforms.

# system diagram

User (Browser / PWA)

└─ Next.js frontend

└─ Custom Node.js API

├─ PostgreSQL → users, meals, measurements

└─ VPS (Nginx reverse proxy)

DevOps & Deployment

Deployment

Custom VPS — self-hosted with Nginx reverse proxy

CI/CD

GitHub Actions → SSH deploy to VPS

Challenges

Managing the VPS infrastructure — SSL, reverse proxy, zero-downtime deploys, and database backups — without the safety net of a managed platform. Built a deployment script that handles all of this reliably.

Key Learnings

Self-hosting gives full control but requires owning every layer of the stack. The operational knowledge gained is valuable — understanding what managed platforms abstract away makes you a better engineer.


Multi-Tenant ERP — Label ManufacturingUrban Route — NEMT Fleet Management

Have a project in mind? Let's talk.

Open to full-time remote roles, freelance projects, and interesting collaborations. I'll get back within 24 hours.

new-message.md