DEV Community

Cover image for ssorg.dev: I Built a Local AI Librarian for All Those Screenshots I Keep Forgetting About 🦥
Kaushani Koner
Kaushani Koner

Posted on

ssorg.dev: I Built a Local AI Librarian for All Those Screenshots I Keep Forgetting About 🦥

What I Built

We all have that one folder: hundreds of screenshots, useful information buried somewhere, and absolutely no idea where to find a particular image when we need it.

A screenshot of a coding error. A tutorial I wanted to try. An important reference. A piece of information I saved because I thought, “I'll need this later.”

And then I never find it again.

That's why I built ssorg.dev — a local-first, AI-powered screenshot organizer that helps turn a messy screenshot collection into a searchable personal knowledge library.

Instead of manually opening images one by one, ssorg.dev helps you find the information inside them.

Here's what it can do:

  • Extract text with OCR: Reads text from screenshots using Tesseract.
  • Organize with local AI: Uses Gemma 3 4B through Ollama to help generate summaries and structured metadata.
  • Build a searchable library: Stores screenshot records and metadata in SQLite for future searches.
  • Find screenshots by keywords: Search extracted text and browse matching results.
  • Ask ssorg: Ask questions about matching screenshots and receive answers grounded in retrieved records, with source references.
  • Detect exact duplicates: Uses SHA-256 hashing to identify identical image files.

The goal isn't to add more work to my workflow. It's to make the information I've already saved easier to find.

🎥 Demo

Watch the ssorg.dev demo video:

▶️ Watch the ssorg.dev Demo

The video demonstrates the project in action, including its screenshot organization and search workflow.

Code

GitHub Repository: https://github.com/kaushanikoner20-hub/ssorg.dev

The project is open source and licensed under the MIT License.

How I Built It

I wanted to build something practical using open-source AI while keeping my screenshots and their contents on my own machine.

My stack includes:

  • Python — application logic
  • Streamlit — user interface
  • Tesseract OCR and pytesseract — text extraction from screenshots
  • Gemma 3 4B — local AI-assisted classification, summaries, and metadata generation
  • Ollama — running the model locally
  • SQLite — persistent storage for screenshot records and metadata
  • Pillow — image handling
  • SHA-256 — exact duplicate detection

The workflow is straightforward:

  1. Upload screenshots.
  2. Extract their text using OCR.
  3. Use the local Gemma model to help interpret and organize the extracted information.
  4. Save the results in a local SQLite database and screenshot library.
  5. Search the collection or ask a question about relevant screenshots.

For question answering, ssorg.dev retrieves matching records and uses their content as evidence. It also validates source references so answers can be connected to the records they came from.

I designed the project around local processing rather than a cloud AI API. This makes privacy a core design choice, not an afterthought.

Building it also meant thinking beyond the happy path: handling processing errors, validating uploads, confirming deletions, detecting duplicates, and avoiding unsupported answers when relevant evidence cannot be found.

Why Does Open Innovation Matter?

Open innovation matters because useful AI tools shouldn't have to depend on expensive services, closed platforms, or sending personal information to external providers.

With ssorg.dev, I wanted to explore how an open-weight model like Gemma can support a small but meaningful everyday workflow.

Screenshots can contain code, personal notes, account details, study materials, and other sensitive information. Keeping the AI workflow local gives users more control over where that information is processed.

The project also brings together accessible technologies that developers can inspect, learn from, and extend.

For me, open-source AI is not only about making a model available. It's about giving people the ability to build useful tools around it and adapt those tools to their own needs.

The Lazy Payoff 🦥

The idea behind Slow and Steady fits this project perfectly.

I don't want to spend time naming every screenshot, sorting every image into folders, or scrolling endlessly to rediscover something I saved weeks ago.

I'd rather let the computer handle the repetitive parts and spend my time doing something more useful.

ssorg.dev is my attempt to make that possible: extract the text, organize the information, and make it searchable when I need it.

I haven't quantified time saved in a formal benchmark, so I won't claim a specific productivity improvement. The benefit I'm aiming for is simple: less manual searching and a better chance of finding information I've already captured.

It's a small tool for a familiar problem, built with local AI and open-source technology.

Prize Categories

Best Use of Gemma

ssorg.dev uses Gemma 3 4B through Ollama for local AI-assisted screenshot organization and metadata generation. This is the category that best matches the project's actual implementation.

Closing Thoughts

This project started with a simple question:

What if saving a screenshot meant I could actually find it again?

Building ssorg.dev has been an opportunity to explore local AI, OCR, retrieval-grounded question answering, and privacy-conscious application design in one practical project.

I'd love to hear from you:

How do you manage the screenshots, notes, and bits of information you keep saving for later? Would you use a local AI librarian for them?

If you're interested, check out the demo and explore the code on GitHub. Contributions, feedback, and ideas are welcome!

Top comments (0)