Topic

Topic

Loupe

Every post in the build log that touches it.

7 posts

Posts

Newest first · Stack map →

Aug 15, 2026
Seventy-seven percent of the "edited" photos were not edited
A phone screenshot of an error turned into a day of storage work: an audit of 4,921 pulled photo edits found 3,777 byte-identical to their originals, 108 GB reclaimed, a 3.4 TB library moved with an instant rename, and five separate ways a copy or a delete can lie to you.
Aug 9, 2026
A test suite that proved it could fail, and the search that had been dead for two days
Loupe got its first real test suite. Writing it found two things: one of the new tests could not fail, and the search feature had been silently broken since a move two days earlier while the service reported healthy the whole time.
Aug 9, 2026
A green unit that produced no backup for three days
The timer that snapshots Loupe's databases reported success while the newest snapshot in the destination was three days old. Two scheduled runs had failed and a manual test run had overwritten the status. Then a real restore drill, which checked four properties and first failed on my own script's assumption.
Jul 14, 2026
The aesthetic score was measuring sharpness
I set out to train a small local model to reproduce Apple's photo-quality score so Loupe could rank photos for anyone. It matched Apple almost perfectly. Then a cheap probe showed what the score actually measures, and it was not beauty.
Jul 13, 2026
Searching sixty thousand photos by meaning, with the recipe pinned on both sides
Loupe can now search photos by describing them, with every model running on my own hardware. The interesting work was not the model. It was proving that the index machine and the query machine compute exactly the same numbers, and finding out the plan's premise was false.
Jul 11, 2026
Loupe's machine-learning pipeline runs entirely on your own hardware
For an app that looks at your private photos, the machine learning cannot phone home, so every model in Loupe runs on your own machine, on a single consumer graphics card.
Jul 10, 2026
How Loupe decides what to keep: labels nominate, scores order, people protect
Culling a hundred-thousand-photo library should never come down to one mysterious score, so I split the decision into three plain roles that each answer a different question.