Mariposa
A restaurant that had never been photographed
I built the website, ran one film shoot and made more than ten AI social adverts for a restaurant whose photography covered only part of the menu.
Problem
A restaurant on Rhodes needed a fully SEO- and AIO-optimised site, a film, realistic dish photos from several angles and synthetic social content. Its own photography covered part of the menu, shot honestly on the terrace under real light, and stopped there. The realism standard was high: everything had to survive a customer sitting down and being handed the real plate.
Idea
I did not invent the plates. A generated dish the kitchen cannot serve is a lie a diner catches when the food arrives, so I locked the still work to the restaurant’s own reference frames. The film went the other way entirely: openly illustrated, with a garden, a fire and a long day by the water, all in the warm palette the room already has. An illustrated film does not pretend to be the room. A photoreal version is tested against it every second it runs.
What I made
- A Next.js site, designed and shipped.
- A ninety-second VSL script.
- One on-location film shoot.
- An illustrated brand film, plus short vertical cuts for social.
- More than ten synthetic social adverts across the campaign.
- Generated plate stills covering the dishes the camera never reached.
Result
The website is live at mariposa.restaurant, with the site and film working together. Someone from the kitchen signed off every generated plate before I shipped it.
How I built it
I used Phantom Set, the pipeline for any subject a person can hold up against the picture. I locked one master plate per dish first: crockery, garnish, light and angle. Every later frame came from that plate, so the plating could not wander between shots.
Artefacts
- Website
- Next.js build, live
- Film
- Illustrated, plus vertical cutdowns
- Shoot
- One production day on location
- Script
- 90-second VSL
- Social adverts
- More than ten pieces across the campaign
- Stills
- Plate set, master-plate locked per dish
Gates
Gate 01
Label gate
I zoom to full resolution and read every printed word in frame. A failed frame returns to the master plate. There is no retouching tool.
Gate 02
Silhouette gate
I lay the render over the master plate at 40% opacity. Any shift in the outline of the plate kills the frame.
Gate 03
Kitchen gate
Somebody who cooks the dish looks at it and confirms that it is theirs.
Stack
- Master plate
- Nano Banana Pro
- Variations
- Nano Banana 2, image to image from the plate, ChatGPT Image 2
- Motion
- Higgsfield Cinema Studio
- Cut
- CapCut
- Site
- Vercel, Figma, Claude Code, Sanity
Frames & films
2 films from this one