Work/DCamp Fitness
DCamp FitnessFitness CRM · Marketing site
One platform for 2,400+ members and 21,000 leads.
Rebuilt a 10-year-old gym’s business systems as a modern, multi-branch platform with FastAPI, React, and PostgreSQL, and shipped a brand-aligned Astro marketing site alongside. A two-part project combining operational depth with a polished public presence.

01The story
From the brief to a live product.
The brief, the hard part, what we did and what happened.
The brief
DCamp Fitness needed a modern platform for running its fitness centres and a website that reflected its brand. The engagement covered both: a full-stack CRM for members and staff, and a public marketing site for programmes, transformations, events, and franchise enquiries.
The challenge
Replace a legacy MySQL CRM while supporting the complexity of a live fitness chain: multi-branch memberships, EMI installments, GST invoicing, personal training, assessments, attendance, HR, and reporting. Alongside the rebuild, turn 761 MB of source media into a lightweight, video-rich marketing experience.
Our approach
Built a FastAPI and PostgreSQL backend with a React 19 interface, JWT authentication, and role-scoped access for administrators, trainers, telecallers, and members. Delivered the marketing site as static Astro pages with optimized images and video, preserving DCamp’s lime-green brand identity. Both applications run on the same VPS, with the CRM on its own subdomain.
The result
Both experiences are live. The CRM serves 2,400+ active members and holds 21,000+ leads, with about $63,000 in payments recorded in the quarter reported for this case study. The marketing site delivers 10 pages with approximately 6.6 MB of optimized assets, reduced from 761 MB of source media.
02What we built
Two parts, one engagement.
One fitness brand. Two connected experiences.
DCamp Fitness CRM
A full-stack gym CRM replacing a legacy MySQL system: memberships, personal training, diet, assessments, invoicing, reporting, and member/staff portals for a live fitness chain.
app.dcamp.co.in- Multi-branch membership management with EMI installments and GST-aware invoicing.
- Personal training as a complete billing module, including renewals, EMI, and PDF invoices.
- Diet and fitness assessments covering posture, functional fitness, and comprehensive fitness, with computed VO₂max, Epley 1RM, Sleep Index, Body-Metrics Index, and ACSM indices.
- Admin, trainer, telecaller, and member portals with permission-scoped navigation.
- QR-based attendance, HR, and reporting, plus a leave-aware class calendar merging recurring schedules and ad-hoc events.
- A single deployment script handles rsync, Alembic migrations, systemd restarts, and nginx reloads.
FastAPI · SQLAlchemy 2 · Alembic · PostgreSQL 16 · React 19 + Vite · TypeScript · TanStack Query · Tailwind CSS · JWT auth · Role-based access · fpdf2 PDF invoices · systemd + nginx · Contabo VPS
DCamp Fitness Marketing Site
A brand-aligned, static Astro marketing site for an integrated fitness centre. Ten pages bring together a video hero, expandable media gallery, transformation showcase, event pages, and franchise enquiry calls to action.
dcamp.co.in- Lime-green identity sampled directly from the client’s logo (#B0D030), paired with Inter and Bebas Neue typography.
- Automated Sharp and ffmpeg asset pipeline producing WebP images and compressed H.264/WebM video.
- Approximately 6.6 MB of total optimized assets, down from 761 MB of source media.
- Custom vanilla-JavaScript lightbox with keyboard navigation and mixed image/video support.
- Static output served with gzip compression, immutable asset caching, and security headers.
- Apex-domain deployment with Let’s Encrypt HTTPS and Certbot auto-renewal; the CRM remains on a separate subdomain.
Astro 4 · Tailwind CSS · Inter + Bebas Neue · Sharp · ffmpeg · Vanilla JavaScript lightbox · nginx · Let’s Encrypt + Certbot
03Stack
What it runs on.
The tools behind it, chosen for the job and for the years after launch.
- FastAPI
- PostgreSQL 16
- React 19
- TypeScript
- Astro 4
- Tailwind CSS
- nginx
05Start a project
Want a project likethis one?
We reply within one working day.
Start a project