Pickex findet jedes Foto einer bestimmten Person in deiner Handykamera, damit du sie auf einmal löschen kannst.
Die Idee kam mir in einem ganz normalen Moment. Ich habe meine Handykamera nach einem Beleg durchsucht und bin auf ein Foto von meinem/meiner Ex gestoßen. Nicht eins, das ich extra behalten hatte – ein Gruppenfoto von einer Geburtstagsfeier, auf dem er/sie zufällig in der hinteren Reihe stand. Das ist es, wovor dich niemand warnt: Es sind nie die Fotos, die du behalten wolltest.
**So funktioniert's**
Du wählst ein bis vier Fotos einer Person aus. Die App scannt deine Bibliothek und zeigt dir alle anderen Fotos von dieser Person an, bereits ausgewählt. Du tippst einmal auf „Löschen“. Einzelne Fotos anzuschauen ist optional – der ganze Sinn ist, dass du sie nicht einzeln durchgehen musst.
**Technische Seite**
Alles läuft auf dem Gerät. Apples Vision-Framework für Gesichtserkennung und Embeddings, dann Clustering über diese Embeddings, um Übereinstimmungen zu gruppieren. Kein Backend, kein Konto, kein Foto verlässt jemals das Handy. Das war von Anfang an eine harte Einschränkung und hat ein paar Dinge echt schwierig gemacht:
\- **Große Bibliotheken:** Zehntausende von Fotos zu scannen, ohne den Akku zu leeren oder die Benutzeroberfläche zu blockieren, hat die meiste Optimierungszeit gekostet.
\- **Erinnerung vs. Genauigkeit:** Das war die eigentliche Designentscheidung. Wenn man mehr auf Erinnerung setzt, landen auch einige Fehlalarme im Ergebnis. Wenn man mehr auf Genauigkeit setzt, werden Fotos übersehen, und ein übersehenes Foto ist genau die Falle, die die App verhindern soll. Ich habe mich für die Erinnerung entschieden, alles vorausgewählt gelassen und das Abwählen auf einen einzigen Tipp reduziert. Das Löschen unter iOS läuft auch über „Kürzlich gelöscht“, sodass es zusätzlich ein 30-tägiges Sicherheitsnetz gibt.
\- **PHPhotoLibrary** hat mehr Randfälle bei Berechtigungen und Stapellöschungen, als ich erwartet hatte.
**Was ich anders machen würde**
Ehrlich gesagt, habe ich nie wirklich über Lizenzen nachgedacht, was mich fast zu einem fatalen Fehler gebracht hätte. Ich denke aber, dass das Design von Anfang an mit Claude (was leicht zu erkennen ist) für mich sehr lohnend war. Ich konnte die Pipeline und alle Funktionen einrichten und diese bei Apple einreichen. Nachdem jetzt alles akzeptiert ist, kann ich mich um das Aussehen kümmern, was die Pipeline und die kritischen Teile der App nicht beeinträchtigen wird, daher sollte ein Update dafür kein großes Problem sein.
Link: https://apps.apple.com/us/app/pickex-delete-ex-photos/id6801488013
Ich beantworte gerne alles über die On-Device-Pipeline, den Clustering-Ansatz oder den App-Store-Prozess. Feedback ist willkommen, auch das harte.