A one-screen fashion storefront built around a turning runway. Six full-body looks stand on a 3D ring, and the visitor shops the outfit straight off the model. I am the model in all six looks.
What the visitor can do
- Drag, swipe, use the arrows or let the runway turn by itself
- Open a look and tap the numbered pins to find each piece
- Pick a size beside any piece and save it to the bag
- Add a full look and get the bundle saving
- Check out as a guest, with no account and no card
- Get a thank-you screen and a printable invoice
How it was built
- The ring is plain maths on flat cut-outs: no 3D model, no WebGL
- One catalog file drives the looks, pieces, pins and prices
- The model shots and 17 product photos were generated to match each outfit
- The server prices every order again, so a total cannot be edited in the browser
- Orders are saved to Postgres and listed on a password-protected page
- Spam guard: honeypot field and a per-visitor order limit
Tech stack
- Next.js, React, TypeScript
- Vanilla JavaScript custom element and CSS for the runway
- Netlify Functions, Neon Postgres
- OpenAI Image API, Python and Pillow for the imagery
- Netlify hosting
It runs as a demo store: orders are recorded, nothing is charged or shipped.