Full Stack Developer
Gym PT App
Full-stack mobile app for gym management and real-time messaging
Mobile
Platform
Monorepo
Architecture
AWS ECS
Infra
The Problem
Gym-goers and personal trainers lacked a unified platform for scheduling sessions, real-time communication, and workout tracking, often relying on fragmented tools (WhatsApp, static calendars) and manual coordination.
Constraints
- 1Real-time bidirectional synchronization across disparate devices
- 2High-performance mobile experience with native-like animations
- 3Secure handling of user data, JWT authentication, and typed APIs
- 4Scalable cloud backend with isolated database persistence
Approach
Engineered a full-stack monorepo application leveraging Turborepo for shared configuration and code generation. The cross-platform mobile app was developed with React Native and Expo. The backend utilizes NestJS with PostgreSQL and Prisma, featuring an event-driven Socket.IO layer for real-time messaging and instantaneous booking confirmations.
Architecture
NestJS backend deployed to AWS ECS Fargate with PostgreSQL housed in isolated RDS private subnets, provisioned reproducibly via AWS CDK. API communication is strictly typed end-to-end, utilizing Orval and Swagger for automated API client generation within the monorepo. Authentication relies on Passport.js with secure JWT signing and refresh token rotation mechanisms.
Results
Delivered a comprehensive, low-latency gym management solution that completely automates the booking lifecycle and facilitates instant, WebSocket-powered communication between clients and trainers, backed by a robust, secure, and auto-scaling cloud architecture.
Learnings
- 1
Turborepo monorepos dramatically streamline full-stack TypeScript development, especially when sharing types and auto-generated API clients across boundaries.
- 2
AWS CDK provides a powerful, imperative approach to managing complex cloud infrastructure (VPCs, ECS clusters, RDS instances) directly in TypeScript.
- 3
Automated OpenAPI (Swagger) client generation completely prevents backend-frontend API contract synchronization issues.