The morning after Hailey shot a wedding, we were both wrecked, lying in bed and not really moving, and she said she might just pay for Aftershoot to get through the cull. And my ears pricked up.
She’d been on her feet for the best part of fourteen hours the day before. She had four thousand photos waiting for her. And I, lying there next to her, realised that for the first time the thing I do in my spare time, the obsession that mostly just pays my half of the bills, might actually be of some use to her.
Four thousand photos and the weeks that follow
A bit of background. My wife is a photographer. Not full-time yet, but that’s the plan, and she’s been chipping away at it around life and the bills ever since she set up Echos Photography a couple of years ago. Her real love is landscape and animals, the patient stuff, but every so often she’ll take on a wedding or some portraits, and last weekend she was the photographer for a family friend’s big day. A lovely affair. She shot it; I flew the drone for a bit of aerial photography and video, which mostly means I got to stand in a field feeling useful while she did the actual work.
Then it ends, and the real job starts. Four thousand frames, and before a single one gets edited somebody has to sit and look at every one and decide which are even worth keeping. The blinks, the soft ones, the same moment fired off eight times in a burst where only one frame is sharp. Done by hand, in Lightroom, one at a time, that can take her weeks. Months, sometimes, depending on what else life is throwing at her. So when she said she’d pay a subscription to make the first pass go away, I understood completely. It’s a genuinely grim job.
I just thought I could do better… for her, specifically.
Why my ears pricked up
I’ve been building developer tools for a while now. go-tool-base has reached the point where it’s actually pleasant to build things on, and the work I’d been doing on keryx, a little studio you drive from a browser rather than a command line, had shown me the shape of something a non-developer could use without ever touching a terminal. The pieces were sitting there… they just needed pointing at a different problem.
So I built her a judge. That’s what the name means, as it happens. krites is Ancient Greek for “the judge”, and that’s the whole product in one word: the thing that looks at every frame and rules on it, keep, maybe, reject, with its reasons, so the human doesn’t have to do the first exhausting pass by hand. It judges; she still decides. It proposes, she disposes. The tool never gets the last word, and it was never meant to.
A tool that’s only trying to please one person
Here’s the thing an off-the-shelf product can never quite be: krites is opinionated entirely in Hailey’s favour. It’s built around her workflow, her kit, her idea of what makes a frame worth keeping, and it’s designed so that she can use it with no setup and no technical knowledge whatsoever. The day it asks her to edit a config file is the day I’ve failed.
I’ve also kept it deliberately dim. There’s very little machine learning in it, and that’s a choice rather than a limitation. Most of the first pass, deciding whether a photo is in focus or hopelessly blown out, whether it’s the eighth near-identical frame in a burst, turns out to be arithmetic, and arithmetic is simple, fast and predictable in a way a model never quite is. I’ll reach for ML where there’s genuinely no other way (telling whether someone’s mid-blink is the obvious one), and when I do it’ll lean on the Apple hardware she already owns, with a deliberate gap left so it can grow onto other machines later. But the rule is: no cleverness she doesn’t need.
And it all runs on her own machine, on purpose. No subscription, which matters when the photography isn’t paying for itself yet. No reliance on a connection, which matters because we’re hoping to spend a good chunk of the near future on the road (there’s a whole vanlife plan brewing, with a work-in-progress demo site slowly coming together), and a campsite in the middle of nowhere is exactly where you want to be culling a backlog and exactly where you won’t have signal. And nothing leaves the laptop, which matters most of all, because these are other people’s weddings. Their photos shouldn’t have to go and live on somebody’s cloud to be useful to the woman they hired.
Why not just pay for the thing that exists
Aftershoot is good. Genuinely good. The easy version of this post is the one where I sneer at the incumbent, and I won’t: they’ve built something clever, and plenty of photographers are well served by it.
But it’s a product, and a product is a compromise by definition. It’s built for the average of everyone, and it can only ever evolve in the directions a company decides are profitable. Hailey isn’t the average of everyone. Something I build is hers, and it can grow in any direction she can imagine, including the unprofitable, niche, only-makes-sense-for-one-photographer directions that no company would ever green-light. That’s not really a technical argument. It’s closer to pride. I’d rather build my wife the tool than rent her someone else’s.
Early days, and the people who made it possible
A word on where this actually is, though. What’s shipped today is the cull, the first pass I’ve described. The straightening, the cropping, the colour work, the little retouches that eat her evenings, the part where it learns her taste over time, that’s all roadmap, and I’ll write about each piece as it lands. krites is at the very start of its life.
None of it would exist at all without three things, and only one of them is mine. go-tool-base finally being solid enough to stand on. Being able to build, with a lot of AI assistance, far faster than I ever could have managed alone, fast enough that “I could probably build that” became “I have built that” inside a weekend. And Hailey, whose infinite patience and gracious kindness in indulging my passions is the only reason any of my obsessions ever get the room to become something.
Which is the part I keep coming back to. I’ve written before about the cost of the compulsion to build, the evenings it takes and the people it takes them from. krites is the same compulsion, for once, pointed the other way. The thing that usually pulls me away from her, aimed squarely at giving her her evenings back. I don’t think I’ve enjoyed building anything more.
She still gets the final say on every photo. Obviously. She’s the judge that matters. I just built her a faster one to argue with.
