This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
International Sloth Day asked for tools that reward laziness. Mine is for the laziest chore in a developer week: renaming screenshots.
On Indonesian Windows, Snipping Tool saves files like Cuplikan layar 2026-10-09 153059.png. After a sprint of bugs, Auth0 banners, and Figma panels, that folder is a clock graveyard. Finding “the red login error from Thursday” means opening twenty files.
I used to rename them by hand. Then I stopped.
What I Built
Snipname is a Windows app that snips like Snipping Tool, then lets a local Gemma vision model rename the file in the background.
Press New or Print Screen, drag a rectangle, release. The image is on the clipboard and in Pictures\Screenshots immediately. While you take the next snip, Gemma looks at the previous one and turns the timestamp into something searchable — auth0-login-error.png, figma-export-dialog.png, ollama-model-list.png.
You stay lazy on purpose: the save never waits for the model. The next Print Screen is free.
Who gets lazier? Anyone who snips a lot and searches by what’s on the screen, not by the clock.
Demo
- Product site on a
.techdomain: https://snipname.tech - Windows NSIS / MSI / zip: v0.1.0
Code
cvpfus
/
snipname
Rename Windows screenshots from visual context with local Gemma (Ollama) — Tauri + React
Snipname
Windows Snipping Tool saves files like Cuplikan layar 2026-10-09 153059.png. After a few dozen, finding one screenshot is painful.
Snipname watches your Screenshots folder, asks a local Gemma model (via Ollama) what is on the image, and renames the file to a short searchable slug — e.g. auth0-login-error.png.
Built for DEV Hacktoberfest Week 3 — Slow and Steady: open-weight AI that does the boring work so you don’t.
Stack
- Tauri 2 + React + TypeScript — small native Windows desktop app
- Ollama + Gemma 3 (vision) — names screenshots on your machine; nothing leaves the laptop
- No Temporal (on purpose): a simple scan → dry-run → rename loop is enough
Prerequisites
- Rust + Tauri Linux/Windows prerequisites
- Node 20+ and pnpm
-
Ollama with a vision-capable Gemma, e.g.
ollama pull gemma3:4b
Develop
pnpm install
pnpm tauri dev
- Point the folder at
%USERPROFILE%\Pictures\Screenshots(default on Windows). - New opens the…
How I Built It
The design rule was one sentence: snip first, name later.
Capture matches Windows muscle memory — rectangle, window, full screen, freeform, optional delay, Escape to cancel. On release, Rust copies and writes the file. A background queue then calls Ollama on 127.0.0.1:11434 with a vision Gemma (gemma3:4b by default). The model returns kebab-case English plus a one-line reason you can reject. Name collisions become name-2.png, never overwrites.
Older unnamed dumps still work: Scan → select → Dry run → Rename. Dry run and Rename only touch what you checked.
Stack: Tauri 2 + React + TypeScript for the UI, Rust for capture and rename, Ollama for local inference. No Temporal, no cloud vision, no account. If Ollama is asleep, you still have a normal snip — the rename just waits.
Why Does Open Innovation Matter?
A cloud “screenshot → name” API would upload every Auth0 error, every half-finished dashboard, every personal chat. That is the opposite of a tool I would trust on a work laptop.
Open-weight Gemma on Ollama means the pixels never leave the machine, naming still works offline after ollama pull, and I can swap models in a dropdown without rewriting the app. Open innovation is what made the lazy path safe enough to use.
The Lazy Payoff
Before: snip → paste somewhere → later open Screenshots → play timestamp roulette.
After: snip → keep working → search auth0 in Explorer.
That is the Slow and Steady bet. Gemma does the boring rename after the useful action. I stay in flow; the file becomes findable without me.
Prize Categories
- Best Use of Gemma — local vision Gemma via Ollama names files from the image itself
- Best Use of a .tech Domain — snipname.tech
Top comments (0)