\n\n\n\n Your Hard Drive Finally Knows What It's Looking At - AI7Bot \n

Your Hard Drive Finally Knows What It’s Looking At

📖 4 min read•728 words•Updated Oct 4, 2026

allenv0 describes SCM in one line on GitHub: “Deep AI search for every photo and every frame of video in any folder on macOS.” Not “photos.” Not “your library.” Every frame, any folder. That phrasing is doing a lot of work, and as someone who spends most days wiring up small local agents, it’s the part that made me stop scrolling.

The Show HN thread picked up 86 points and 47 comments last week, with the repo sitting at 52 stars. Modest numbers in absolute terms. But the ratio tells you something: roughly one comment for every two upvotes. That’s not a drive-by “neat, starred it” crowd. That’s practitioners arguing about implementation.

Why frame-level changes the problem

Photo search is mostly a solved shape. You run a vision model over N images, store what comes back, query it later. The index is bounded by how many files you have.

Video breaks that assumption in an uncomfortable way. A single minute of footage at 30fps is 1,800 images. A folder of screen recordings, family clips, and old conference talks turns into a corpus that dwarfs your entire photo collection. So the moment you say “every frame,” you’ve stopped building a search feature and started building an indexing pipeline with real engineering constraints around dedup, sampling, storage, and compute scheduling.

This is the exact wall I hit building anything that consumes media locally. The model inference is the easy part now. Ollama made that part boring, which is the highest compliment you can pay infrastructure. The hard part is deciding what you feed it and how often.

The local-first argument, made by someone shipping

SCM runs on local AI vision models through Ollama, which means your photo library is analyzed on your own hardware and stays there. The related work in this space follows the same pattern. A-Eye, another tool using local vision models, analyzes photos and renames them based on what it actually sees, building a searchable library with no cloud involved.

Two independent projects landing on the same architecture isn’t coincidence. It’s what happens when the economics flip. Sending 50,000 images to a hosted vision API is a bill. Sending 50,000 images to a model running on your laptop is an afternoon and some fan noise. For a personal media library, that tradeoff is no longer close.

And there’s the privacy dimension, which matters more for photos than almost any other data type. Your camera roll is a record of your home, your kids, your medical paperwork, your badge photo, the whiteboard from that meeting you weren’t supposed to photograph. Any tool that asks you to upload all of it for the privilege of searching it is asking too much. Local inference removes the question entirely.

What I’d steal for my own builds

The auto-rename pattern is the quietly smart bit. Instead of locking every insight inside a proprietary index, you push some of it back into the filesystem as filenames. That gives you a few things for free:

  • Spotlight compatibility. macOS already indexes filenames. Rename well and the OS search bar gets smarter without you writing a UI.
  • Portability. Filenames survive moving between drives, syncing, and backups. A SQLite index doesn’t always.
  • Human legibility. You can scan a folder and understand it without launching the tool that built it.

That last point is underrated in agent design generally. We keep building systems whose output only the system can read. Writing results into a format the operating system already understands is a cheaper, more durable interface than any dashboard.

The open questions

The repo is MIT licensed with 2 forks, which is early-days territory. I’d want to know how frame sampling is handled before pointing it at a terabyte of video, because the difference between “every frame” as a marketing line and “every frame” as a literal operation is the difference between an hour and a week. I’d also want to see what the storage footprint looks like after a large run.

None of that is a knock. It’s a 52-star project that shipped a hard idea and got practitioners talking about it. For those of us building local AI tooling, SCM is a useful reference implementation of an architecture that keeps looking more correct: small models, your machine, results written somewhere the rest of your system can find them.

I’m cloning it this weekend. The frame sampling logic is the first file I’m opening.

🕒 Published:

💬
Written by Jake Chen

Bot developer who has built 50+ chatbots across Discord, Telegram, Slack, and WhatsApp. Specializes in conversational AI and NLP.

Learn more →
Browse Topics: Best Practices | Bot Building | Bot Development | Business | Operations
Scroll to Top