← All posts

Machine learning

Jul 14, 2026
July 14 - 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
July 13 - 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
July 11 - 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
July 10 - 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.
Jun 27, 2026
June 27 - a Swiss redesign, a GPU box, and a wiki over all my notes
Reskinned davidgomez.cc into a Swiss/International typographic system, stood up a GPU box and proved face-embedding runs on it, and brought up a regenerable wiki over every one of my notes, run by hand for now.
Jun 25, 2026
June 25 - faking a whole photo library, teaching the demo to act like the app, and mapping it as a graph
Built a reusable image generator to manufacture a synthetic photo library for the public cull demo, wired the static demo to behave like the real app across several views, and ran a code-mapping tool over the app to chart its architecture and data flow.