Salvador

Full-stack case study · Private operational product

GymFlow

One authenticated system for member registration, plans, renewals, payments, and the daily financial activity behind a gym.

Role

Solo full-stack developer and product designer

Delivery

One week · approximately 42 hours

Current use

Active operational deployment

Access

Private deployment

GymFlow membership management interface presented on desktop and mobile devices

The challenge

Replace fragmented administration with one workflow

Before GymFlow, staff registered members in Excel and handled expiration reminders manually. Every registration, renewal, and payment required moving between disconnected records and repetitive administrative steps.

The goal was not simply to replace a spreadsheet. The system needed to connect each member to a plan, access period, and payment history while remaining clear enough for daily front-desk use.

GymFlow now supports active operational workflows, while the product direction remains suitable for gyms in different markets.

Core system

Built around the membership lifecycle

Each workflow connects operational actions to the underlying membership and financial records.

01

Registration

Create the member, assign a plan, establish the membership period, and record the initial payment as one connected action.

02

Renewals

Extend access without discarding remaining membership time and preserve the associated renewal payment.

03

Financial reporting

Filter payments by period, method, shift, member, plan, or receipt and review practical daily summaries.

04

Bilingual operation

Spanish and English interfaces share the same workflows, with the selected language preserved for staff.

Architecture

One typed path from interface to database

Business actions stay on the server, validate their input, and write relational records through Prisma. The interface receives structured, localized feedback without exposing database access to the browser.

01React form
02Zod validation
03Authenticated Server Action
04Prisma transaction
05PostgreSQL
06Localized UI feedback
Next.jsTypeScriptPostgreSQLPrismaBetter AuthZodTailwind CSS

Product walkthrough

The operational experience

GymFlow dashboard showing daily revenue, membership status, upcoming expirations, and recent payments

Dashboard overview

Daily revenue, membership status, upcoming expirations, recent payments, and active plans.

GymFlow payment reporting with search filters, payment method totals, and transaction history

Payment reporting

Period and shift filters, method breakdowns, transaction grouping, and daily subtotals.

GymFlow new member form with personal information and membership plan selection

Member registration

Member information, plan selection, membership dates, and initial payment in one workflow.

GymFlow member details showing profile information, assigned plan, and remaining access

Member details

Current membership, expiration status, access period, payment context, and renewal action.

GymFlow membership plans showing duration, pricing, and active status

Plans management

Reusable membership plans with clear duration and pricing rules.

GymFlow sign-in page with Spanish and English language controls

Login and language

Authenticated access with Spanish and English interface preferences.

Key decisions

Reliability before unnecessary complexity

Relational consistency

Nested database writes keep member, membership, and payment creation connected.

Protected operations

Both dashboard routes and business actions verify an active server-side session.

Business-aware dates

Membership periods and payment timestamps follow different rules instead of forcing all dates into one model.

Mobile-specific views

Administrative tables become focused mobile records rather than horizontally scrolling desktop layouts.

Current result

Finished software, active in daily use

GymFlow is actively used in private operations. It replaces the previous Excel-based registration process with a connected system for memberships and payments. The delivered system is complete; reminder automation remains a possible future enhancement rather than unfinished core work.

Source and access

The source repository and live deployment remain private to protect the implementation and client confidentiality. Identifying information and operational details, including client volume, are never disclosed. A guided demo can be shared directly with prospective employers or clients.

Request a demo