Back to Projects
S
Engineering

Spotter

Full-Stack Developer

NestJSPrismaPostgreSQLNext.jsTypeScript

About the Project

Spotter (internally Squotch) is a multi-tenant SaaS for independent gyms — a digital home for members and an operations console for staff. It began as a single-tenant build for Fit-Farm, a strength-and-conditioning facility on East West Road in Port Harcourt, and was generalized into a platform that onboards additional gyms while keeping Fit-Farm as the anchor tenant. It runs as three applications: a member-facing client, a staff admin console, and a NestJS API.

Key Highlights

  • Generalized a single-tenant product into multi-tenant SaaS without disrupting the anchor tenant's live operations
  • Built member management, class scheduling, and attendance tracking
  • Implemented role-based access control separating owner, staff, and member capabilities
  • Shipped payments and subscription handling, plus sales and revenue reporting for gym owners
  • Modelled the schema so tenant isolation is enforced at the data layer rather than in application code

Technical Challenges

The interesting work was the migration from single-tenant to multi-tenant. The original data model assumed one gym, so every table needed a tenant boundary added without breaking the anchor tenant already running on it. I chose to enforce isolation at the data layer rather than trusting every query to remember a WHERE clause — that decision cost more up front but meant a missed filter in application code could not leak another gym's members.