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.


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