Studio

A darkroom,
not a dashboard.

Everything the studio does happens on your machine — the ingest, the culling pass, the masking, the rendering. Your card goes into the reader and comes out as a project you can work in; the photographs never leave the desk, because there is nowhere for them to go.

You keep the negatives. There is nothing to subscribe to.

In

A card, or a folder

Sony, Canon, Nikon, Fuji — if the camera wrote a RAW and a preview, it will come in. Preview JPEGs are pulled first and the full files are copied underneath them, so the screen fills up long before the drive is done.

Out

A recipe, and the pixels

Every edit becomes a RawTherapee .pp3 file you can open in a text editor, plus the render and an XMP sidecar, so the same frame can be finished by hand in Photoshop or GIMP if you want to take it further.

Kept

Seven repositories

Each module does one job and can be replaced without disturbing the rest. If you only want the culling, you run the culling — the rest stays on disk, unstarted.

The ecosystem
What it feels like

Four things happen, in this order.

01 · Ingest

The card goes in.

You dump a card. It builds previews instantly so you can start culling while it thinks in the background — captions, aesthetic sense, edge maps. No progress bar that blocks you.

02 · Cull

You look, and press a number.

A frameless overlay sits over the viewer you already use and shows what the machine noticed about the frame on screen. The scores are yours to overrule — it is a second opinion, not a verdict.

03 · Reason

You say what you want done.

“Lift face 0.6, keep dress, don’t touch sky.” It listens, writes the settings for that file, and shows you the result without a 120 MB round trip through anything.

04 · Refine

Or you go to bed.

Point it at a folder and leave. By morning a few hundred frames have been through the long pass, and the ones it wasn’t sure about are waiting for you rather than pretending they are finished.

The machine, quietly
·Ingest and analysis run at the same time, on different hardware, so neither waits on the other.
·Ingest is resumable: pull the card, stop the machine, plug it back in and it picks up where it was.
·Captions, aesthetic scores and edge maps are committed to a local database, so nothing is recomputed twice.
·Any model, local or frontier, can be the one doing the reasoning. It is a setting, not a rewrite.
What that is, under the hood

A sequential Linux path (SDhopper v3) and a concurrent Windows path (Batchline v4). The Windows path runs a CPU producer — scan, hash, EXIF — against a GPU consumer so both stay busy; the Linux path reads kernel I/O statistics and applies exponential moving averages to spot drive degradation mid-ingest. Both quietly use the job scheduler and the SQLite ingest database.

Structural detail lives in the repository, where it is useful to whoever is reading the code at two in the morning.

Getting it running
What you need

Python 3.10 or newer. A CUDA-capable GPU if you have one — the analysis steps run roughly 25× faster with it and perfectly well without. RawTherapee and ImageMagick for the render pass; ExifTool if you want proper white balance and sidecars.

What it does not need

An account, a licence key, a connection, or any of your photographs leaving the building.

What it costs

Free and open source, forever. If your own machine is not enough for a job, rent compute at cost instead — never a photo credit. That is the service.

Read the source How it works
The one thing that cannot lie

A good edit is not approved by the model that made it.

What you accept or reject while culling is written back into the project as your decision, and the next pass starts from that. The star you gave a frame on Tuesday is the reason a frame like it is treated differently on Thursday — and no model gets to overrule the photographer, because the photographer keeps the record.