Översikt
Picks är en iPhone-app för att gå igenom kamerarullen och faktiskt bli av med skräpet: svep vänster för att slänga, höger för att behålla, månad för månad tills det är klart. Appen hittar själv serierna — de där fem nästan identiska bilderna från samma tillfälle — och föreslår vilken som ska behållas. Allt man slänger samlas i en hög som raderas i ett enda svep, med en räknare som visar exakt hur många megabyte man fått tillbaka.
Utgångspunkten var min egen kamerarulle: fjorton tusen bilder, varav en stor del är dubbletter, skärmdumpar och serier där jag bara ville ha den bästa. Innan jag byggde något kartlade jag vad som redan fanns. Apples inbyggda dublettdetektering är gratis men passiv — den kör bara när telefonen är låst och laddar, kan ta dagar och hittar bara exakta kopior, inte liknande bilder. Tredjepartsapparna har svep-gränssnitten men drar åt andra hållet: veckoprenumerationer på fyra till tio dollar, annonser i gratisversionerna och privacy-etiketter med annonsdata knuten till användar-ID. Luckan var tydlig: en app som kombinerar Apples förtroendemodell med de bästa apparnas flöde. Så Picks analyserar allt lokalt på telefonen, saknar nätverkskod över huvud taget och sparar sina beslut där de hör hemma — hos användaren.
Flödet
Kärnan är en kortlek. Ett foto i taget, stort och ostört, med datum och filstorlek i hörnet. Sveper man vänster ritas ett rött kryss över bilden i takt med draget; sveper man höger en ring — beslutet syns innan det tas, och går alltid att ångra. En räknare visar var i månaden man är, och högen längst ner fylls på med det som ska bort.
Ingenting raderas förrän man tömmer högen. Då visar iOS en enda bekräftelsedialog för hela bunten — inte en per bild — och allt hamnar i Senast raderade där det ligger kvar i trettio dagar. Skyddsnätet gör att svepandet kan gå fort: ett felsvep kostar ingenting.
Runt kortleken finns de snabba vinsterna. Serier grupperar visuellt likartade bilder tagna nära i tid; den som ska behållas får en bock och lägger sig först — har någon i serien redigerats vet appen att det troligen är den. Valet är ett tryck att flytta eller avmarkera helt, och Radera-knappen tar resten. Skärmdumpar bulkmarkeras med ett svep över “äldre än 30 dagar”. Videor listas störst först, Nedladdade videor samlar allt som sparats från TikTok och andra appar — kameran spelar in QuickTime, så en mp4 i rullen har nästan alltid kommit utifrån — och tömmer det i ett svep. Tunga bilder plockar fram de foton som väger mest. Hemskärmen visar hur långt man kommit i varje månad och var det finns mest att hämta.
Designspråket
Vitt, svart och lime — inget annat. Vit botten där nyckeltalen lyser i accentens #B5D73E som appens enda färgade kort, resten ligger i en aning mörkare vitt som lyfter dem från bottnen. Accenten bär alltid mörk text, svart bär alltid ljus — och svart är raderingens färg: Ta bort-knappen, Radera-pillerna och högen-raden. Bocken på seriens valda bild delar accentens lime med blomman i ikonen. Överst sitter loggan med wordmark centrerad, och radernas pilar är ritade ur samma geometri som märket.
Typografin är Familjen Grotesk i en enda vikt — hierarki byggs med storlek och färg, aldrig med fetstil. Siffrorna är appens belöningssystem, så de behandlas med omsorg: antal, megabyte och positioner sätts med fasta siffror så att inget hoppar när värdena rullar, och frigjort utrymme tickar fram med en räknarövergång när högen töms.
Ikonen är komponerad i Apples Icon Composer: den vita blomman på limegrön botten, med ett blad i djupare grönt — det utvalda, det som får leva kvar. Samma blomma bär wordmarken högst upp i appen, och samma lime markerar seriens valda bild.
Tekniskt
Picks är byggd i SwiftUI mot PhotoKit och Vision. Några beslut som formade appen:
- Serie-detekteringen är tvåstegad. Foton klustras först i tidssessioner, sedan jämförs bilderna inom varje session med Visions feature prints på enhetens Neural Engine. Tidsfönstret gör jobbet linjärt i stället för kvadratiskt — det är det som gör att skanningen startar direkt och blir klar på minuter, inte dagar. När Vision inte kan köra faller appen tillbaka på en egen perceptuell hash i ren CoreGraphics.
- Skanningen är inkrementell. Analyserade foton och funna serier sparas lokalt, så nästa start analyserar bara sessioner med nya bilder.
- Raderingen är batchad. PhotoKit visar en systemdialog per raderingsanrop, så Picks samlar allt i högen och committar en gång — en dialog oavsett om det gäller tre bilder eller tre tusen.
- Ingenting lämnar telefonen. All analys sker on-device, appen har ingen nätverkskod och ingen spårning. Granskningsbeslut och statistik ligger i en lokal JSON-fil, inget annat.
Picks är byggd för min egen kamerarulle först, App Store sen.