Piqt's Design Values
Efficiency, privacy, safety, and transparency: the four things I look for before I install anything, and how each one is built into Piqt.
When I started building Piqt, my one goal was to solve a problem that I (and as I soon found out many others) have with their photo libraries. Our photo library is unmanageable, so I built a tool to manage mine. As I expanded it and as I started considering an app for others, I wanted to build with some values that I look for in all applications: Efficiency, Privacy, Safety, and Transparency.
This is more than a marketing message. This is based on all of the things that personally give me pause when I evaluate downloading another app. I wanted to lay out here what matters to me in an app and how I built those things into Piqt.
Efficiency
If there’s one major thing (though I think there’s more than one) that makes Piqt different from various other photo cleaner and dupe removal tools it’s the mission of making you enjoy your memories. I don’t get any joy out of looking at how much storage I’ve saved. I get joy when I can find that adorable video of my kid, or when I can share my last trip with my friends without having to turboscroll through 100 pictures. You can get there today, but it takes work and toil and time that none of us have.
Piqt should take that toil away. Fortunately, modern AI tools are great at that. Piqt uses a whole host of algorithms, neural networks, and AI models, all of them running directly on your device:
- Apple’s Vision framework can create an aesthetic score for any of your photos. It’s built into iOS, but rarely surfaced.
- Thanks to research by Talebi and Milanfar at Google, Neural Image Assessment (NIMA) models are freely available, and Piqt uses two of them: one that rates technical quality and clarity, one that rates Style. The Style model learned from hundreds of thousands of photos, each rated by around 200 people. The weights Piqt ships were trained by idealo and released under Apache 2.0.
- Rather than just look for identical files, Piqt asks Apple’s Vision framework for a numeric fingerprint of every image, then compares those fingerprints to find visually similar shots taken around the same time. That’s how it picks up the time you asked someone to take a picture of you and they clicked the shutter 10 times with you in similar poses.
- Apple’s Vision framework also has great face detection and quality scores, but once again they’re not always exposed. Piqt uses that data to assess photo interest, but all it saves is two numbers: how many faces were in the shot, and how many of them were sharp enough to count. Never the actual faces or identifying information.
- Screenshots can be difficult to group and bucket. Depending on how many images you have of a topic, you may want those groups to be more or less detailed. For this, Piqt uses OpenCLIP models trained by LAION and based on research by OpenAI to group similar topics in images.
This is just a sample of the algorithms and AI models used in Piqt, but the main idea is that these things are all freely available and can run directly on your iPhone and they’re fast. Today Piqt can process about 30 images a second on my iPhone 15 Pro, so my whole library only takes a few minutes to process.
On a final note, I firmly believe that local AI is the real path forward for us. Though the benefits of using AI are real, so is the ecological impact of AI datacenters. Any technology that can reduce our dependence on remote services is a win for our wallets, our privacy, and the earth.
Privacy
The amount of data that is known about each and every one of us for marketing, tracking, surveillance, and other purposes has always been a tough pill to swallow for me. The maxim that “If you’re not paying for a product, you are a product” is now truer than ever and sometimes we don’t have a choice. That’s why I built Piqt to limit access as much as possible.
No Accounts There’s nothing to sign up for to use Piqt (other than Apple’s App Store). There’s no account, no profile in the cloud, and nothing that puts you on a mailing list. Piqt doesn’t know who you are, which is as good for me as it is for you. There’s no risk of a Piqt account breach, leaking user data, or hacking into accounts, because there is none.
Piqt Doesn’t Store or Ship Photos Piqt does not have a copy of your photos, it simply references the photos you already have in your library. Since everything is processed on your device, there’s no reason at all to ship a photo off to some cloud service, so it doesn’t. If you use iCloud for Apple Photos storage, Piqt’s normal scan doesn’t pull anything down. It only reads what’s already on your phone. If you want those iCloud-only photos scored, you have to ask for it, and Piqt will offer to do it on Wi-Fi only by default. Even then, PhotoKit hands the photo to Piqt on-device. Bytes come in, nothing goes out.
Care for Sensitive Data Some of your screenshots and images have sensitive data in them like account numbers, SSNs, and most photos carry the coordinates of where they were taken. Wherever Piqt uses Optical Character Recognition (OCR) to read text in an image, it scrubs the sensitive spans and never stores them. It’s worth being precise about what this does and doesn’t do. Scrubbing protects Piqt’s records, not the photo. Your screenshot still shows whatever it shows. It just stays on your device, the same as it did before you installed Piqt. To turn coordinates into a place name, Piqt looks it up against a copy of the GeoNames database bundled inside the app, so nothing is sent to a geocoding service. The raw coordinates are never written down. The only thing Piqt saves about where a photo was taken is a one-way hash of the matched place, scrambled with a key generated on your phone that never leaves it, so even a copy of Piqt’s database can’t be turned back into a map.
Bare Minimum Telemetry Almost every app tracks tons of metrics on what you do in those apps every day. Though much of that data goes over the line, some of it is really useful for a developer. It tells me what features are used the most. It tells me which features are broken. When I can’t talk to everyone directly, it’s a great way for me to make sure the app is doing what it should. However, I am leery of this tracking myself, so here’s my stance. I’ve chosen TelemetryDeck as the telemetry service. They have a fantastic privacy record, are EU-hosted, and are GDPR compliant. By default TelemetryDeck creates an anonymous identifier that sticks to your device. I’ve overridden that. Piqt generates a fresh random session ID every time it launches and never saves it, so nothing from one run can be stitched to the next into a profile of a person. No photos or personal data are ever sent. What I get today is a small fixed list of signals: that the app launched, whether photo access was granted, that a scan finished and roughly how large the library was, which workflow you opened, how many photos were staged for deletion, and a handful covering the paywall and purchase flow. Counts are rounded into buckets rather than sent exactly, so a small group can’t be fingerprinted. And of course, if that still makes you feel uncomfortable, one tap in settings turns it off.
Safety
Handling photos is a huge responsibility. Some of my most important memories live in my library. Losing them would be a huge loss. Piqt takes this responsibility seriously.
First and foremost, Piqt cannot delete your photos. Since it doesn’t store your photos, it can’t do it accidentally, but it also cannot ask Apple Photos to do it. There is no command to tell iOS to delete a photo anywhere in the code. To make sure nothing ever sneaks in with a new feature, there are tests in every build that fail if deletion code ever shows up.
Instead, Piqt stages any photos or videos you’d like to clear out in an album for you to review. Deleting stays completely in your control, when you go into Photos and decide to do it. Everything in Piqt itself is reversible, and even Photos keeps what you delete in Recently Deleted for 30 days. Pulling a photo back out of that staging album is free and always will be, whether or not you’ve paid for Piqt Plus. Losing photos sucks, so I never want to be the cause of that.
Transparency
This is one you’ll have to trust me on. I write posts like this because I want to be clear about what you get and what you don’t with Piqt. I believe in giving credit to the giants whose shoulders I’ve built on in the Acknowledgements section of the privacy page, and will continue to do so here in this blog. Ultimately, I just want you to feel that your photos are in good hands and I’m going to continue communicating and making myself available to Piqt’s users.
Piqt’s scanner is totally free to use. You can download the app today, scan the library, and test it out. I want you to see what you’re getting before paying. That’s ungated and you can continue to use as long as you’d like if you just prefer to use Piqt for browsing photos. However, if you do want more, Piqt Plus enables you to persist your decisions back to photos. It will store your favorites, create the “Piqt: To Delete” album for the photos you’d like to clear out, and soon do even more to help you clean up your albums. For Piqt Plus, I offer monthly and annual subscriptions, both with a 7-day free trial, or a Lifetime plan for a one-time fee. If you’d like more and want to support an indie developer, I’ve created the Founders tier, which includes the Lifetime plan, plus some other goodies I’ll be building out. For now, I’m planning on an in-app badge, visibility and feedback on the roadmap, and more direct lines to the people behind Piqt. Regardless of tier, recovery is never gated if your subscription lapses, so you can always pull things back out of the clear out album.
With Piqt I’ve set out to build a product that I want to use. I’m happy with it and excited about what I’m building, and hope you are too. Cheers