Project · 2026In use

AI photo studioFor a shoe shop, run from a phone

A plain photo of a shoe goes in. A campaign picture comes out.

Role
Design + build
Context
Shoe photography for Zahi Saliba

The workThe app, the line, every automation.

02The build ↓

A whole studio, in a phone.

The shop sends photos of its new shoes. The studio sorts them, plans every picture, makes it, checks it and hands back campaign pictures. Shadi only says keep or redo.

The studio's Compare screen: the finished picture of a black pump above the shop's own photo of it.
01 · CompareThe real shoe under the picture
The studio's Library screen, on Pants: jeans in four washes, each with how often it was used.
02 · LibraryEverything it can dress a shoe in
The studio's Brain screen: the studio's rules, and each worker's score, counted from what really happened.
03 · BrainWhat it knows, and how well each worker does
The studio's Archive board: scenes not used since August, waiting to be decided one by one.
04 · ArchiveOld things rest. Nothing is deleted

What it fixes.

Before, every step was done by hand on a canvas app: pairing the shop's photos, typing the pants in, checking the shoe by eye. Now the studio does the steps, and Shadi makes the calls.

Ten shoes, sorted and made

5–6 h → ~1.5 h

Before, on a canvas app, sorting by hand took as long as making the pictures. Now the studio does both.

The shop's photos, sorted

88 → 29

Photos in, shoes out, none left over. Shadi fixed four things.

Three at once

~75 s

For one picture. Three are made at the same time.

What it knew on day one

92 rules

Every automation, step by step.

Eight workers on one line. The steps light up on the left as the studio does them on the right. Tap any worker, or go down the line.

01 / 08Code + AI

Intake

Turns a pile of the shop's photos into shoes.

  1. 1Photos arrive from the shop
  2. 2Put in the order they were sent
  3. 3Split into shoes
  4. 4Each side named
  5. 5Colours of one design grouped

While you sleep.

Six jobs nobody has to remember. Two wait for the middle of the night; four never stop.

Every night · 03:30

Backup

  1. 1Copies the whole database
  2. 2Restores the copy somewhere safe
  3. 3Counts every row to prove it
  4. 4Keeps the newest 14

The buildThe code, the stack, the rules.

01The work ↑

How it's made.

What it runs on, what it's written in, what it knows, and the rules every part of it keeps.

Shipped
zahi-studio
  • TypeScript85.6%
  • Python12.8%
  • Shell1.2%
  • Other0.4%
package.json
  • Next.js16.2.1
  • React19.2.4
  • TypeScript5
  • Tailwind4
  • Postgres3.4.9
  • Drizzle0.45.3
Brain92 rules · day one
  • Studio13
  • Intake15
  • Stylist19
  • Photographer14
  • Inspector31

Each worker reads its own brain before it answers. The Learner proposes new rules; only Shadi adds them.

README.md

The rules it was built on.

From the studio's own plan. Every part of it keeps them.

  • Freeze A plan is frozen the moment it's made.
  • Keep Nothing is overwritten or deleted.
  • Record Every change goes through one door, and is written down.
  • Gate Every paid call passes the spend gate.
  • Say it Nothing fails quietly: no silent fallback.
  • Data Recipes and brains are data, never code.
  • Defaults The shop's standing asks come first.
  • Phone Phone first.
WorkersTwo machines

The app lives in the cloud. The heavy work runs on two machines, which come and ask for it. The keys never leave them.

zahi-studio
  • app13 screens
      • intake.ts
      • stylist.ts
      • inspector.ts
      • notes.ts
      • learner.ts
    • shoot
    • review
    • delivery
  • workertwo machines
    • backupnightly
    • archiveweekly
    • examsper worker
Zahi Studio
Designed and built by
Shadi Daoud
Made for
Zahi Saliba