case://study-010
AI / ML
Project 010

Atelier Virtuel

A free public AI virtual try-on POC. Built as a fast iteration before the full TryIt iOS app. Two API routes (Gemini 2.5 Flash for input validation, Gemini 3 Flash Image for generation), client-side compression to dodge Vercel's 413 limit, in-memory IP rate limiting, brutalist UI in cream + ink + acid yellow. Zero database, zero account, zero photo storage.

5/h/IP
Rate Limit
30–45s
Gen Time
None
Storage
AI / ML
Category
The Problem

What Wasn't Working

Before building a polished iOS app for virtual try-on, you need to validate the AI flow itself: does Gemini 3 Flash Image actually preserve the person's body and only swap the garment? Does it handle weird inputs gracefully?

The Solution

How I Fixed It

A 4-step web POC with two AI calls (validate input → generate output), client-side compression so payloads stay small, IP rate limiting so a public link doesn't bankrupt the Gemini quota, and a brutalist UI that makes the demo feel intentional rather than throwaway.

Stack

Technologies Used

Next.js 16
Tailwind 4
Gemini 3 Flash Image
Framer Motion
Results

Key Outcomes

Validated the two-stage AI pipeline (cheap validation → expensive generation)
Public-link-safe via IP rate limiting (5 gen/hour, 20 validations/hour)
Zero storage, zero database — photos round-trip via base64 through the Gemini API
Free fork-and-learn under MIT

Want something like this?

Let's build it. I ship fast and I ship clean.