Faces by Miracle
A luxury booking and payments platform for a Dallas–Fort Worth makeup artist — brand, interface, and full stack, designed and built end to end.

Overview
Faces by Miracle is a Dallas–Fort Worth makeup artist with a luxury, editorial brand and a client base built over years of bridal, glam, and special-occasion work. The business was running on DMs and a basic page — every booking meant back-and-forth messages, no deposits, and no system of record. I designed and built a full platform to fix that: brand, marketing site, booking flow, payments, client-facing portfolio, and an admin dashboard — the whole thing, design through deployment.
The challenge
A working makeup artist's time is the product. Every inquiry that turns into a thread of "are you free that date?" is unpaid overhead, and every no-deposit booking is a no-show risk. Miracle needed three things at once: a site that looked as premium as the work, a booking flow that captured the service, date, and payment in a single pass, and a back office to run it all without spreadsheets.
What I designed
A calm, warm luxury aesthetic — earth tones, generous space, editorial photography — that reads high-end without shouting. The centerpiece is a multi-step booking flow (service → date & time → your details → payment) that feels effortless on a phone, where almost all of these bookings actually happen. The service menu is structured around real packages, each with clear scope, duration, and price.

The packages map to how she actually sells: Natural Glam ($130, 45 min) for a subtle, skin-first look, Soft Glam ($150) for earth-tone eyes and lashes, and Full Glam ($180) for show-stopping special occasions — plus dedicated Bridal and Bridesmaids consultations and on-location service with a travel fee.

What I built
The platform is a full-stack Next.js application, shipped to production on Vercel:
- Next.js 15 (App Router) + TypeScript front to back
- Tailwind CSS v4 + shadcn/ui for the design system
- Prisma 7 + Neon Postgres for bookings, services, and clients
- Auth.js v5 for the admin
- Stripe for deposits and payments
- Vercel Blob for portfolio and gallery image storage
- Resend + React Email for booking confirmations and notifications
- Recharts analytics on the admin dashboard
Key features
- A multi-step booking flow that collects service, schedule, client details, and payment in one session
- Stripe payments and deposits so a confirmed booking is a paid booking
- A managed portfolio gallery the artist updates herself
- Email notifications to both artist and client on every booking
- An admin dashboard with KPI cards and 12-month revenue trends so she can see the business at a glance
Outcome
Faces by Miracle went from a DM-driven side hustle to a real, self-serve business: clients book and pay in one flow, the artist runs everything from one dashboard, and the brand finally matches the quality of the work. I owned all of it — design system, frontend, backend, payments, and deploy. (Source code is private.)