PB.NL
20:41:01
Vibe coding5 AUG 2026

Zoeken in tweeëneenhalf miljoen foto's

Hoe een OneDrive-melding eindigde in een fotozoeker. Eén avondje, nul euro, en drie keer bijsturen met één vraag.

Zoeken in tweeëneenhalf miljoen foto's

Het begon met Microsoft. Vandaag, keurige melding: "Je OneDrive zit 336 procent vol, je moet er iets aan doen."
336 procent. Niet 99. Niet 104. Driehonderdzesendertig.

Logisch ook wel — we kwamen van enorm veel gebruikers naar nu nog enkele, en dan gaan je gegevens ineens dringen. Dus ik aan het opruimen. Alles netjes wegschrijven naar de PB-disk: onze NAS (is een harde schuif, maar dan veel die elkaar backuppen zeg maar dus een back up die zichzelf backuppt....) ja nerd ding.

Die staat Vol Perfectly Basics-historie, die we eerlijk gezegd nergens meer voor gebruikten, maar wel lagge soms door heen te gaan wtf hebben we allemaal veel dingen gemaakt, WTF! top team was het toen.

En toen keek ik op. ik dacht....maar wacht...al die foto's....
Productiefoto's. Zó ontzettend veel productiefoto's...... miljoenen bijna...

Al die jaren shoots met de lieve Nic en Celine onze toppers, niet dat we iets gingen doen nog met de foto's. Maar één vraag die niet meer wegging (in mijn hoofd dan): hoe zoek je hier ooit nog iets in terug? Stel... Hoe vind je tussen bijna miljoenen foto's dat éne product? Stel we vragen heeft Nic toen "die trui aan gehad" met die rode rand....

Ik ga daar zo op aan dan....:) #adh?iets ja druk in de kop peet.
Claude Code erbij. Uitdiepen maar. #gasopdielollie want nu gaan we dit vinden.

De stand na vanavond

  • 2.543.212 foto's in beeld (en de teller loopt nog)
    1.510 regels code
    10 commits
    €0 externe kosten
    0 onleesbare bestanden

Alles draait lokaal op de Mac. Geen cloud, geen credits, geen abonnement erbij — daar heb ik er al genoeg van.

Hoe het werkt

Op de Mac draait nu een klein programma dat via het interne netwerk de PB-disk (Nas stsyeem met alle foto's) doorwerkt. Foto voor foto.

En nu de truc — want die vind ik zelf het mooiste. Het programma kijkt niet zoals wij naar een foto. Het onthoudt geen details, geen pixels, geen bestandsnaam. Het maakt van elke foto een soort vingerafdruk: één lange reeks getallen die samenvat wat er op de foto staat. Het kledingstuk, de kleur, de print — alles samengeperst in één code.
En hier wordt het slim: foto's die op elkaar líjken, krijgen codes die op elkaar lijken. Zoeken is daarna geen bladeren meer door anderhalf miljoen beelden, maar gewoon rekenen: welke codes liggen het dichtst bij elkaar? Daarom staat er onder elke thumbnail in het zoekscherm zo'n getalletje — dat is de score, hoe dicht die foto bij jouw zoekopdracht zit.

En bij dat indexeren komen vanzelf de vragen waar je vooraf nooit aan denkt. Hoeveel resultaten wil je per shoot zien — alles, of maximaal drie zodat je meer verschillende producten ziet? Tel je accessoires en detailfoto's mee, of juist niet? Al doende beantwoord je ze één voor één, en elke keer wordt de zoeker een beetje scherper. Het zijn nu gewoon knopjes in het scherm geworden.

Want dat zoekscherm, daar wordt het leuk. Gewoon in de browser. Je typt "gele jurk", en een tel later staat je scherm vol met Nik en Celine in alle tinten geel die we ooit geschoten hebben.

Maar het mooiste: je kunt óók een foto van een kledingstuk in het scherm slepen — of gewoon plakken met ⌘V — en dan zoekt hij op dat beeld. Want dat is het elegante van die vingerafdrukken: je zoekwoorden worden er óók een, en een geplakte foto net zo goed. Tekst en beeld spreken ineens dezelfde taal van getallen. Geen woorden nodig. Foto erin, resultaten eruit. Ligt er ergens nog een sample in de studio waarvan niemand meer weet uit welk seizoen die kwam? Fotootje maken, plakken, en de zoeker vertelt je precies in welke shoot hij zat.

Zo ziet dat er dan uit

Show Image
Zoeken op "gele jurk". Op het moment van deze screenshot stonden er 132.167 foto's in de index — de teller liep tijdens het zoeken gewoon door. En daar zijn ze dan: Nik en Celine, in alle tinten geel die we ooit geschoten hebben. Elke thumbnail met score, shootdatum en mapnaam eronder. Alsof de hele NAS ineens antwoord geeft.

Wat hij wél en niet kan

Eerlijk is eerlijk: een effen zwarte trui is het moeilijkste dat er bestaat. En met die vingerafdrukken snap je meteen waarom: alle effen zwarte truien krijgen bijna dezelfde code. Probeer zelf maar eens tien identieke zwarte truien uit elkaar te houden — de zoeker kan het ook niet.

Maar geef hem een print, en dan gebeurt er iets moois. Dan vindt hij niet alleen dat jurkje terug, maar dezelfde print óók op een schoen, een riem en een sjaal. Hele setjes waarvan je allang vergeten was dat ze bestonden, komen in één zoekopdracht weer boven. Dáár zit de magie.

Vannacht

Terwijl ik dit schrijf, draait de index gewoon door. De Mac ligt op netstroom met het deksel open, en werkt zich in z'n eentje door de resterende beelden heen.
Morgenochtend eerst even ./draai.sh status.

Van een OneDrive die 336 procent vol zat naar anderhalf miljoen doorzoekbare foto's van onze hele historie. Op één middag. De NAS gebruikten we nergens meer voor. Nu geeft hij antwoord.

Endoor. Peter.

PerfectMoods Radio

Lounge & Chillout Music