Web app · Live
Dyeroom
Develops your raw photographs on simulated film, taking each one through the film’s chemistry step by step.
Dyeroom isn’t a preset laid over a finished picture. Each raw photograph is exposed on a simulated film and taken through its chemistry in order, and the picture is whatever is left at the end. Sunday 64 is a colour slide film: first developer, re-exposure, three colour developers, bleach and fix, then the slide on a light box or a projector screen. Monday 400 is a black-and-white negative, developed and then printed on graded paper, with selenium toning if you want it.
Most of the work is in the model. Each pixel becomes a plausible light spectrum, which is measured against the film’s three layers. Development, grain and sharpness follow the film makers’ published technical data, and the model is checked against it. Where the data stops, the site says so, with a page on what is measured, what is modelled and what is assumed.
It’s written in Python behind a FastAPI server, with a WebGL preview so colour and tone changes don’t need a new development. It reads raw files from most cameras, keeps the original’s metadata in every export and stores nothing: photographs are deleted when you leave. It’s free, with no account.
- Role
- Design, colour science and code
- Built with
- Python, NumPy, SciPy, colour-science, LibRaw, FastAPI, WebGL, Docker
- Links
- dyeroom.app