We all do it: we hit Win + Shift + S or Cmd + Shift + 4 a dozen times a day.
~/Pictures/Screenshots`` Screenshot (482).png, and the tasks or meetings you captured are long forgotten.
.pyw) detects new screenshots with zero user intervention and triggers a floating OS toast notification.Show in Folder).
✦ AI: Semantic concept match (expense: "receipt") · Direct match in title explaining exactly why the AI selected it. #
Code #
ScreenStash is a downloadable Tauri desktop application for Windows and macOS. It watches a user-selected screenshot folder, extracts text locally, and stores organized results in a local SQLite database.
Download the .exe or .dmg from the landing page or GitHub Releases. The distributed application does not require Python or a source checkout.
ScreenStash accepts only loopback Ollama endpoints (localhost, 127.0.0.1, or ::1) so screenshot text cannot be sent to a remote Ollama server by configuration.
The React/Tauri UI lives in desktop/; Python is packaged only as the processing sidecar.
cd desktop
npm ci
… The codebase is 100% open-source under the MIT license, structured into:
desktop/: Tauri 2 desktop shell, React 19, TypeScript, and custom CSS design system.desktop/src/aiFilter.ts: Dual-tier semantic intent engine and Ollama JSON inference client.desktop/src/Calendar.tsx: Dynamic 7-day monthly calendar and temporal date extractor.desktop/src-tauri/: Rust backend implementing native IPC, asset protocols, file deletion, and OS shell commands.cloud_service/: FastAPI cloud runtime deployed on Render..github/workflows/: Automated GitHub Actions release pipeline building Windows MSI and NSIS packages.
ScreenStash follows a privacy-first, layered architecture that transforms raw screenshots into searchable, actionable information.
01 → Screenshot Capture
Win + Shift + S.
02 → Duplicate Detection
SHA-256 hash to identify duplicate screenshots.
03 → Text Extraction
04 → AI Processing
Extracted text is processed through a flexible, multi-tier AI pipeline:
| 💻 Local AI | ☁️ Cloud AI |
|---|---|
| Gemma 3:4b + Ollama | Render + FastAPI |
| Runs inference locally using structured JSON output. | Provides an alternative for users who opt for cloud processing. |
| Keeps inference on-device. | Uses the hosted cloud runtime. |
05 → Local Data Storage
06 → Desktop Experience
Powered by Tauri 2 + React, ScreenStash turns processed screenshots into an interactive workspace:
We chose Gemma 3:4b as our flagship on-device model. Using Ollama's structured JSON format, we pass the OCR extracted text into Gemma with strict schema constraints to reliably extract:
Task, Event, Receipt, Reference) meeting, expense, urgent, task, doc).✦ AI Filter), queries local Ollama or Render Cloud with candidate items in strict JSON mode.evaluateNeedsAttention() to score urgency tokens (evaluateSavedForLater() to detect reference documentation and expense archives.
3. Native Desktop WebView via Tauri 2 & Rust
Rather than packaging a bloated 250MB Electron binary, ScreenStash is built on Tauri 2:convertFileSrc) safely bridge local filesystem images into the webview without CSP violations.explorer.exe /select, <path> to reveal the exact file in Windows Explorer with a single click.
Screenshots are among the most intimate and sensitive data artifacts on any computer:
ScreenStash was designed, implemented, refactored, and tested with iterative pair-programming assistance:
Decisions.mc`` Flow.md``tech.md
Before ScreenStash:
Downloads. https://screenstash-cloudapi.onrender.com), a containerized FastAPI service with health checking, CORS management, and fallback execution./api/generate) locally, parsing raw OCR screenshots into structured titles, summaries, todo checklists, and calendar dates with zero telemetry.
Partner Categories:.github/workflows/desktop-release.yml). v*).
Built with passion for Hacktoberfest 2026. Try it out, star the repo, and stop letting your screenshots go to waste!