PicSeek

PicSeek

Private AI photo search & storage cleaner. 100% Offline.

4 followers

PicSeek is a privacy-first photo manager powered by on-device AI. πŸ” Natural Language Search: Find photos by describing them (e.g., "cat sleeping on sofa"). πŸ›‘οΈ 100% Private: AI runs locally on your device. No cloud uploads. 🧹 Smart Cleaner: Easily find and remove similar photos to save space. Stop scrolling, start finding. Reclaim your library with local AI.
PicSeek gallery image
PicSeek gallery image
PicSeek gallery image
PicSeek gallery image
PicSeek gallery image
PicSeek gallery image
PicSeek gallery image
Free Options
Launch tags:iOSβ€’Photographyβ€’Artificial Intelligence
Launch Team / Built With
Unblocked AI Code Review
Unblocked AI Code Review
High-signal comments based on your team's context
Promoted

What do you think? …

fox_lin
Maker
πŸ“Œ

Hi Product Hunt! πŸ‘‹

I'm GONGLIN HU, the creator of PicSeek.

I built PicSeek because I was frustrated with two things:

I have 20,000+ photos, and finding that one specific meme or document was impossible with standard keyword search.
I didn't want to upload my entire life to a cloud server just to get smart search features.
So I built a solution that brings state-of-the-art AI (CLIP models) directly to your iPhone. It indexes your photos locally, creating a "vector database" in memory that allows for "semantic search"β€”you can describe a scene, and it finds it.

What makes PicSeek different?

Privacy First: It works completely offline (Airplane mode approved! ✈️).
Smart Cleaning: It identifies similar shots (bursts, duplicates) to help you save space.
Tech Stack: Built with SwiftUI, CoreML.
I'd love to hear your feedback! What's the most annoying thing about managing your photo library? Let me know in the comments! πŸ‘‡

Agbaje Olajide

The 100% offline, local AI approach is the killer feature for anyone concerned about privacy. Bringing semantic search to a personal device is impressive.

A technical question for power users: How does the local "vector database" handle library updates? If I take new photos, does the app need to re-index the entire library, or can it incrementally add the new images without a major performance hit?

fox_lin
Maker

@olajiggy321Β First of all, thank you for taking an interest in my work.

Currently, I store the embeddings of photos in SwiftData while also keeping an in-memory copy of the photo-embedding mappings. When I process new photos, I sync the new embedding data into memory; when a photo is deleted, I remove its corresponding embedding from memory as well.

This implementation is still quite rough, and I’ve already noticed several issues with it. I’m currently researching a few real edge-device vector databases and plan to choose one to refine my app’s architecture. I believe the updated version will be ready very soon.

Thank you again for your interest in my app. Once the vector database improvements are in place, I’d be happy to discuss the implementation details with you.

You’re also welcome to try out the app and share any feedback or suggestions you might have.

Agbaje Olajide

@fox_linΒ 
Thanks for the detailed and transparent technical breakdown. It's great to see you're already planning the move to a dedicated edge-device vector databaseβ€”that's the right architectural decision for performance at scale.

I have a small, practical idea related to that user experience during re-indexing or database migration that you could consider as you refine the architecture.

If you're open to a suggestion, what's the best way to share it? (Email, DM, etc.)

fox_lin
Maker

@olajiggy321Β Thank you so much for your suggestions! You can reach me via email at foxdmu@gmail.com – I'm really looking forward to hearing your ideas! 😊

Agbaje Olajide

Thanks for the detailed and transparent technical breakdown. It's great to see you're already planning the move to a dedicated edge-device vector databaseβ€”that's the right architectural decision for performance at scale.

I have a small, practical idea related to that user experience during re-indexing or database migration that you could consider as you refine the architecture.

If you're open to a suggestion, what's the best way to share it? (Email, DM, etc.)