← All work
ClientIn production

Geno's & MAC&CLAY · Rentals and weddings

Complete application for a tuxedo and suit rental store: wedding registration, looks, orders, Stripe payments, SMS and a daily board.

This project was delivered to a real client. The site is live at the address shown: open it and check for yourself what is described here.

Client type and problem

Formal-wear rental · Lexington, Kentucky (United States)

Geno's & MAC&CLAY rents and tailors formal wear, with a warehouse, in-store fittings and a heavy wedding-party business. Every order was typed into three systems: rental registration, point of sale, warehouse software. Triple entry, transcription errors, no single source of truth.

The owner pivoted away from a Shopify integration midway. The store needed a custom application to become the system of record, with Stripe for payments and a one-way sync from the legacy warehouse software.

What we built

  • Customer journey: the groom registers the wedding, builds complete looks (coat, pants, shirt, vest, tie, shoes) and assigns them to each party member
  • Admin area: today's board, orders, accounts due, wedding parties in tabs (active, this week, pending, archive), customers, daily close, reports
  • Orders created at the fitting, prefilled from the reserved look; size dropdowns, pickup and return dates computed automatically
  • Card payments through Stripe Checkout with an idempotent webhook, partial payments, discounts, tax and damage waiver
  • SMS (Twilio) and e-mail (SendGrid), scheduled reminders, secure public links for fittings and orders
  • Sync from the existing MySQL ERP, audit log, rate limiting, input validation (Zod), error tracking (Sentry)

What carries over to the DRC

  • Same pattern as a school portal or a distributor platform: one point of entry, roles, online payments and SMS
  • Stripe here, M-Pesa, Airtel Money and Orange Money there: the webhook payment architecture is the same
  • Public links without an account for end customers, like parents or retailers without e-mail
  • Automated tests, continuous integration and a staging environment: what we set up for every business application

Deployment

  • React front end on Vercel, Express API on Railway, PostgreSQL database and authentication on Supabase
  • Automatic deployment on every push to the main branch, separate staging environment
  • Secrets held by the host, never in the code
  • API health check, security headers, rate limiting

Monitoring

  • Front-end and API error tracking with Sentry
  • Unit and integration tests run in continuous integration on GitHub, SonarCloud analysis
  • Scheduled jobs for reminders and overdue returns, protected by a secret
  • Handoff documentation to resume the project on a new machine

Timeline and price

in production since July 2026 · on quote · ongoing development

Tech stack

React 18TypeScriptViteTailwindExpressSupabase (PostgreSQL)StripeTwilioSendGridSentryVercelRailwayGitHub Actions