Soheil Luxury Auto Wraps
Sister brand to Soheil Luxury Auto Gallery — same client, dedicated site for the wrap business. The headline feature is a custom AI preview studio: photo in, fal.ai image-to-image inference, photorealistic preview out. Built on Next.js 16, Firebase (Firestore + Storage + Admin SDK), and Tailwind v4. Hardened with Cloudflare Turnstile bot verification, per-IP and global daily rate limits, and IP hashing for privacy. Quote requests use Resend for transactional email and a full admin dashboard for wrap catalog, gallery, hero copy, business hours, and preview config.
01 — Problem
A vinyl wrap is a five-figure commitment, and customers refuse to sign off on a finish they can't visualise on their own car. Generic visualisers show stock 3D models; studio photo shoots are too expensive to pre-sell.
02 — Approach
Built a one-shot AI preview pipeline: user uploads a car photo, the request is Turnstile-verified and rate-limited, the photo is staged in Firebase Storage as a public URL, fal.ai runs image-to-image inference against the selected wrap's sample image, and the result is returned to the page. Server-only route with maxDuration 60s, hashed IPs, and an admin-side kill switch on the preview config doc.
03 — Outcome
Customers see their own car wrapped in under ten seconds, then drop straight into a quote request. The AI preview is the studio's lead-gen wedge — the reason customers say they chose Soheil over competitors.
// Built with
- Next.js 16
- TypeScript
- Tailwind CSS v4
- Firebase
- fal.ai
- Cloudflare Turnstile
- Resend
- React Hook Form
- Zod
- shadcn/ui