Umbra
A RAW developer for the Mac, built for how I edit: cull from the keyboard, dodge and burn in layers, print in black and white.
- WhenSeptember 2026 to now
- ForIndependent
- RoleDesign engineer
- ToolsClaude, Xcode
- PlatformmacOS 14 or later, Apple silicon only
- Built withSwift 6, SwiftUI, Metal, LibRaw
- StatusIn daily use on my Mac. Not on the App Store yet
The brief
One app for three jobs I used to split across Lightroom, Capture One and Bridge: developing RAW files, culling a shoot, and managing the files on disk. For one photographer, a Fujifilm X100VI, a Leica Q2 and a Sony A7R III, on a MacBook Air M4.
Four rules. Shadow is where the detail is, so the tools for the dark end come first. The original file is never changed. It has to feel fast. No subscription, no cloud, no telemetry.


Your files stay where they are
Umbra has no catalog. You open any folder, on the Mac or an external drive, and browse it without importing anything. Edits live in a small file next to each photo, so the work moves with the photos; the search index can be thrown away and rebuilt from the files.
Import copies by date, reads every copy back before it counts, never overwrites a different photo with the same name, and never changes the card. Every write goes to a temporary file first and is renamed into place, so a crash leaves the old file or the new one, never half of one. A folder of 5,000 files lists in 0.17 seconds.
Linear light, and dodge and burn as the main tool
The develop engine works in linear light on the GPU, so exposure, contrast and colour behave the way light does. What the canvas shows is what the export writes: a colour audit put the canvas and a 16-bit P3 export 0.01 apart.
A dodge or a burn is a layer with its own mask (brush, radial, linear, a luminosity range, a colour key, or a subject found on the Mac) and its own exposure, contrast and saturation. Hold Option while dragging a control and the canvas shows what it touches.


Black and white, printed
In black and white the panel changes to the darkroom’s tools, named as a printer names them: a lens filter and an eight-band mix, development from N-3 to N+3, Paper grades from 00 to 5 or split grade, a flash for the highlights, toning with sepia, selenium or gold.
The Zones overlay shows the picture as eleven grey regions. Place a tone on a zone; place a second and Umbra sets the contrast to match.






I changed the panel three times
I got the tools panel wrong first. Every control was a card with a large readout and a ruler: 13 sections in one column, the first screen ending at Exposure, and Layers, my main tool, tenth of thirteen.
The column became seven tool tabs, in the order I work: Base, Tone, Dodge & Burn, Colour, Look, Detail, Crop. Most cards became slider rows, because a card costs 116 pt open and a row 34. Base, the tab I open first, now fits the page.


Where it stands
It runs on my Mac every day as a release build, reads all three cameras, and exports JPEG, HEIC, TIFF and PNG. The App Store build is signed and sandboxed; the store record, the price and the support pages are what is left. The film-scan tools have only met synthetic negatives, and dust detection finds between a fifth and two fifths of the specks.