Tony GorbProduct Designer & Builder

LinkedIn (opens in a new tab)GitHub (opens in a new tab)
Download CV PDFView CV

Work/Scenri
Contents

Scenri · AI photo studio

Getting AI to change only what you asked

Role
Product design, brand, code
Year
2026
Status
Open source, 83 releases

Overview

An open-source AI photo studio I designed, branded and built, directing coding agents

Scenri saves a brand’s products, people and places once, so every shot can name them in one line. It took nine weeks, from early August to early October.

Home, with four ways in and 128 example shots

Problem

Studios need the fiftieth picture of a product to match the first

A studio comes back to the same product, model and light for weeks. AI image tools forget all of it between sessions.

Image models only learned to hold a product or a face from reference photos in 2025, and asked to change one thing, they still redraw the rest.

Laundry Line
Palm Shade
Chalk Steps
Mirror Salt Flat
1 / 1

Goals and constraints

Three rules every release had to follow

Scenri runs on your computer with no account or telemetry, and each brand is an open .brand file. The image model is yours, so connecting it is the only setup.

Providers on a fresh install, with a monthly cap on each paid one
Providers on a fresh install, with a monthly cap on each paid one

Product model

Save a product, a person and a place once, then write the shot in one line

Products come in from their photos. People and places are made in Scenri. The line names them, and the words around them describe the shot.

The shot: Amara in a blue dress with the Red Bowler Bag by a line of white sheets

Made from

  • Red Bowler BagProduct, saved once
  • AmaraPerson, saved once
  • Laundry LinePlace, saved once

The line

Amara carrying the Red Bowler Bag at Laundry Line, full length, her face in frame, late morning light.

People and places

A person and a place, one question at a time

On 8 September I built the person studio from my Figma frames as a form. The next day I replaced it with this conversation, where most answers are a tap on a picture or a line in your own words. Places shipped in 0.15 on the same parts.

Who are they?
Or type your own answer
Hair length, as shapes
Build, as figures
Height, as figures
The brief, with “Portuguese” in it
1 / 1
A place starts from a world
What is it made of, up close?
Then its light
What makes it unforgettable?
Or type your own idea
The brief, with the heron in it
1 / 1

Writing a shot

$ for a product, @ for a person, / for a place, # for a colour

Each sign opens the brand’s things. A pick becomes a chip, and the whole line goes to the model as one prompt.

One line, typed with four menus

Refining a shot

Refining a shot used to redraw the whole picture

On 22 August an overnight test scored shots against the real product and person photos. Refining made them worse.

01 · Problem

Ask for one change, get a different picture

Usable shots fell from 63% to 22% after refining. Asked for a wider frame, the model also shrank the man from half the frame’s height to about 7% and relit the scene.

The chain, refined three times with “a faint smile”, “pull back” and “cooler overcast light”

02 · Decision

I kept the untouched pixels in code and cut Compare

Asking the model to leave everything else alone didn’t work, so from 0.4 Scenri does it in code. Every pixel a refinement wasn’t asked to change comes back from the original, and on the test shot untouched pixels went from 1.8% to 86.0%.

Compare was the headline of 0.1. It put two versions side by side, with a heatmap of where the model had changed your product. I had stopped opening it myself, and in 0.8.3, 21 days after it shipped, I deleted it.

The Ilvaire flacon on a marble table in low sun, a brass tray at the left, linen and a mirror behind
The refinement: the tray gone, the flacon a little closer, the label, linen, mirror and light unchanged
Ilvaire, 13 September. The note: “take the brass tray out of the frame, keep the linen, and bring the flacon a little closer.” Drag to compare

03 · Solution

Each refinement is a new version on a trail

You type one sentence on the shot. The result lands under the picture next to the original, and you can step back to any version.

One shot and five refinements, one click apart

How I built it

I ran three coding agents at once and made every call

I split the product into tasks and gave each agent its context. From 7 September every task ran in its own worktree, so Claude Code, Codex and Cursor worked in parallel without touching each other’s files.

They all worked to rules I wrote in AGENTS.md and the design rules, and the checks enforce them. A test fails on a wrong focus ring or a retired word, and a release can’t ship until its What’s New entry is written.

Every branch still came to me. Pull request #160 worked, but it relit products that had never looked pasted in, so on 4 September I closed it.

AGENTS.md in the Scenri repository
Pull request #160, closed on 4 September

Brand

I designed the mark, the colours, the type and the website

Gold marks only credits, the keeper star and a ready update. On 26 September I took it off loading states and moved to the painted sky. Tests check the brand down to how the name is spelled.

The mark, the colours, the type and the sky, every piece from the product and its website
scenri.co, the whole page: The photo studio for your AI, A photo shoot you keep, Made in Scenri, Bring it once in every shot, Or bring the whole store in, Cast once shoot anywhere, Retakes, On your computer, What's new and the footer
scenri.co, the whole page: The photo studio for your AI, A photo shoot you keep, Made in Scenri, Bring it once in every shot, Or bring the whole store in, Cast once shoot anywhere, Retakes, On your computer, What's new and the footer

scenri.co I designed and built it on the same identity.

Outcome

83 open-source releases in 64 days

Every release is on GitHub with its notes. It’s early, at 4 stars, and the launch taught me the most. Its one useful reply was “LoRA already exists”, so I rewrote the pitch around what Scenri keeps for a brand, not how it makes a picture.

What’s New in 0.22. Every release comes with notes written for the people using it

Reflection

What I’d take to the next product

  1. 01

    Score the pictures

    The refine bug only showed up when I scored shots against real photos.

  2. 02

    Count the pixels

    A refined shot looked right and kept 1.8% of the original pixels.

  3. 03

    Cut the headline

    Compare was the headline of 0.1, and I cut it three weeks later.

  4. 04

    One question at a time

    The person form lasted a day. The conversation that replaced it stayed.

  5. 05

    Own the merge

    I ran agents in parallel, and every merge was my call.

  6. 06

    Find users first

    Every release reached almost no one, so next time strangers come first.