01
Spools
Every frame in the order it came off the roll. Drop in a folder and it files itself by date, by hour, by stock.
Beta opening soon · Windows
A minilab in a window. Spool meters the film, converts in density space, and keeps every frame in the order it came off the roll.
Windows first · macOS and Linux planned, no date yet
Point at the clear film between the frames. That sample is the base. Everything else follows from it — no sliders, no guessing at a cast.
Negative as scanned
The engine
A negative is characterised by optical density, not by brightness. Get that wrong and the cast shifts with every stop.
D = log10(1 / T)
Same file, same crop, same frame. The complement version is a straight 255 − pixel inversion, white-balanced on one patch — which is the best that model can do.
The library
Every frame keeps its place in the strip, numbered from one within its own spool — the way a sleeve in a binder is numbered.
The application
A roll goes in at one end and comes out sorted, graded and on paper. Nothing here is a plugin to something else.
01
Every frame in the order it came off the roll. Drop in a folder and it files itself by date, by hour, by stock.
02
Point at the clear film, crop, convert. Four steps, in the order a minilab does them, for one frame or ninety.
03
Light, colour, presence, retouch. Sixteen-bit throughout, and every control says what it does to the picture.
04
Paper is not a screen. Contact sheets, test strips and proofs, laid out to the millimetre and sent to your printer.
Uncommon
Every stage is non-destructive and stores only its own parameters. Nothing is re-derived from its own previous output, so reopening a tool does not compound what it did last time. A small sidecar file goes next to each scan, which is what makes a folder portable.
Select a roll and convert it. Each frame still goes through its own stored white point and its own metering border — a batch is not one setting applied to forty pictures.
Instead of clipping past white and below black, tones compress softly into range. A hard clip collapses every bright tone onto one value and no later slider brings the differences back.

One frame across a sheet in five bands, a stop apart, with the value printed on each. Contact sheets too, numbered, negatives included.
A speck has to stand clear of both a threshold and how busy that part of the picture already is. Newton's rings are interference, so they are subtracted rather than patched over.

What is waiting, what you kept, what a keeper cost. Every figure on the screen is a button that opens exactly the frames it counted.

One executable, about 35 MB, no installer. Every slider in Finish is a WebGL2 shader, so a drag never round-trips to the engine or re-decodes the file.
Not yet
Named here rather than left for you to discover.
Honest
Beta
The application exists, and real rolls go through it every day. It is not public yet. This is the only way to know the moment that changes.