ARTIFICIAL INTELLIGENCE

New Mac App SCM Lets Users Search Photos and Video by Meaning, Entirely Offline

A free macOS tool called SCM (Screen Memories) uses local AI models to let users search their photo and video libraries by describing what they remember, down to the exact scene and spoken line — with no cloud uploads involved.

Person searching a grid of photo and video thumbnails on a MacBook screen at a home deskARTIFICIAL INTELLIGENCE

Image: SCM · Uploaded by IntraGoals — usage rights confirmed

A new open-source application for macOS is promising something increasingly rare in consumer software: AI-powered search that never leaves the user's computer.

The tool, called SCM (Screen Memories), was shared this week on Hacker News under the project name allenv0/SCM. It lets users point the app at any folder of photos or videos and search them using natural-language descriptions, rather than relying on filenames or manual tagging. A query like "the shot of the beach at sunset" is matched against the actual visual content of images and video frames using a local vision model running on the Mac itself.

The app's defining feature is that all processing happens on-device. According to its documentation, SCM requires no account, sends no data to the cloud, and performs no uploads; AI model weights are downloaded once, after which the software works entirely offline. For a category of tool — AI photo search — that is increasingly built around cloud services, that local-first design sets SCM apart.

SCM offers five distinct search modes. "Files" mode ranks whole photos and videos by visual meaning using a CLIP or SigLIP vision model, with boosts for matching filenames and phrases. "Scenes" mode goes further, breaking videos into individual shots via ffmpeg and letting users search for a specific moment, then jump straight to that timecode rather than just locating the file. "OCR" mode uses Tesseract to find text that appears on screen, supporting English plus 35 additional languages. "Dialogue" mode uses OpenAI's Whisper model to search what was actually said in a video's audio, returning tiered results from exact phrases to loosely matched word groups. An optional "LLMs" mode layers a local chatbot, via a llama.cpp sidecar, over all of this extracted data, answering questions with clickable citations pointing back to the source dialogue, OCR text or filenames.

The app also manages its library automatically. Watched folders are indexed as files are added, content is hashed to detect duplicates even after renaming, and switching between the four available vision models triggers a background re-embedding of the whole library without blocking search in the meantime. A dedicated "Email" tab can detect email addresses embedded in screenshots, even when OCR software has fractured or obscured them, while a "Screenshots" tab classifies screenshots reliably regardless of how files have been renamed.

Installation is handled through Homebrew on Apple Silicon Macs running macOS 12 or later. The project's Homebrew tap is configured to automatically clear macOS's quarantine flag on install and upgrade, meaning users do not need to manually approve the app through Gatekeeper security prompts — though users weighing that convenience against Apple's standard security warnings may want to review the tap's configuration themselves before installing.

The project is open source, built with Electron, Bun and a React front end, and its full source, build scripts and test suite are published alongside the release. For users wary of sending personal photo and video libraries to cloud-based AI services, SCM offers a working alternative: all the searching, none of the uploading.

Sources and further readingGitHub - allenv0/SCM: Deep AI search for every photo and every frame of video in any folder on macOS ↗
ABOUT THE DESK

Harsh DV

IntraGoals reports on important changes in technology and work. We check each story for clear writing, trusted sources and useful information before it is published.

KEEP READING

Latest from IntraGoals.

All latest stories ↗