You are browsing as a guest. Sign up (or log in) to start making projects!

ShotFinder

  • 3 Devlogs
  • 3 Total hours

Find any screenshot, photo or video on your Windows PC by what’s written in it, what it shows, or what’s said in it, in any language. 100% local and offline: hit a hotkey, type “Amazon receipt” or “sunset at the beach”, and it’s there.

Ship #1 Pending review

ShotFinder - find any screenshot, photo or video by what’s inside it

You know the screenshot exists. You just can’t find it, because it’s called IMG_2024_11_03.png and sits among 9,000 others.

ShotFinder is a Windows app that reads the text in your screenshots and photos, recognises what your pictures show, and listens to what people say in your videos. Press Ctrl+Alt+Space, type whatever you remember (“fattura enel”, “a beach at sunset”, “bring your passport”) and it opens the file. For videos, it starts playing two seconds before the moment the words were spoken.

Everything runs on your own PC. No account, no cloud, no telemetry. The only network access is a one-time model download.

What’s inside:

  • Text: Windows OCR on images and on sampled video frames
  • Appearance: a CLIP image/text encoder (ONNX Runtime), so you can search by description, in English or Italian
  • Speech: faster-whisper transcribes videos locally, and every hit carries its timestamp
  • Storage: one SQLite file, FTS5 for text and sqlite-vec for vectors
  • A tray app that watches your folders and indexes new files in the background, a global hotkey, a Spotlight-style search window with previews, and a settings panel
  • A real installer: Start menu entry, optional desktop icon, optional start with Windows, clean uninstall that asks before deleting your index

How I built it: Python 3.11 + PySide6 (Qt 6), packaged with PyInstaller and Inno Setup. Every tagged release is built on a clean GitHub Actions Windows runner, and the packaged exe runs a headless self-test (ShotFinder.exe --selftest) that indexes bundled fixtures and checks a text, a visual and a spoken query before the build counts as good.

The hardest part was being honest about visual search. CLIP can’t reliably tell a weak real match from noise, so visual-only hits sit in a separate “Related by appearance” group instead of pretending to be confident results. I calibrated the threshold on real data (docs/threshold-calibration.md).

Try it: download ShotFinder-0.2.0-setup.exe from the latest GitHub release, run it, pick your folders, and press Ctrl+Alt+Space. Windows shows “More info -> Run anyway” the first time because the installer isn’t code-signed.

Try project → See source code →

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…