Omega Fitness

Class Booking and Payments Platform for a Houston Gym

React TypeScript Tailwind CSS Supabase Clover Vercel

Overview:
Omega Fitness is the official website and booking platform for Omega Fitness (Houston, TX), a public marketing site with a full class booking and payments platform and a password-protected admin console, built as a single-page application and backed by Supabase. Visitors can browse training programs, view the weekly schedule, explore membership tiers, buy class packs, and register for classes as a guest, with no customer account required.

Key Achievements

  • Guest Booking & Payments: Built a guest checkout flow where visitors pick a class, pay through Clover Hosted Checkout, and receive a confirmation email once the Clover webhook confirms the seat, with no customer account needed.
  • Class Packs & Memberships: Implemented prepaid class packs that guests redeem later with only an email address, membership bookings that spend no credit, and a free first class for qualifying emails.
  • Admin Console: Developed a password-protected admin console for staff to manage classes, registrations, customers, and sales leads, with identity from Supabase Auth and authorization enforced in the database via Row Level Security.
  • Lead Capture: Captured membership inquiries as sales leads with a honeypot and 24-hour de-duplication, written through a SECURITY DEFINER RPC and worked by staff in the admin console.

Technical Architecture

  • Frontend: Built a component-based single-page application with React 18 and TypeScript, styled with Tailwind CSS and routed with React Router 6 across public and admin routes.
  • Backend & Database: Used Supabase for the PostgreSQL database, authentication, Row Level Security policies, and Edge Functions that handle booking, payments, and confirmation emails.
  • Payments: Integrated Clover Hosted Checkout through Supabase Edge Functions so the browser never sees private payment credentials and never decides that a payment succeeded, with the Clover webhook as the source of truth.
  • Deployment: Deployed to Vercel with a production SPA rewrite configuration, built with Vite and TypeScript, and gated with ESLint for code quality.

Engineering Challenges & Solutions

  • Payment Security: Kept all payment handling server-side inside Edge Functions so private payment credentials never reach the client, and webhook verification, not client state, confirms every registration.
  • Database-Level Authorization: Enforced admin permissions with Row Level Security in Postgres, so the React layer is convenience only and the database remains the security boundary.
  • Graceful Degradation: Designed the app to degrade gracefully when Supabase environment variables are missing, rendering a friendly "booking unavailable" state instead of crashing.
  • Scheduling Complexity: Modeled live class listings, weekly timetables, membership bookings, prepaid credit packs, and free-trial eligibility as distinct flows that share one schedule.

Results & Live Product

Omega Fitness is deployed in production at omegafit.club, where real customers browse the schedule, register for classes, purchase class packs, and pay securely online while staff run day-to-day operations from the admin console.

The project demonstrates my ability to take a public marketing site all the way to a revenue-carrying product, combining front-end engineering, secure payment integration, database-level authorization, and production deployment.