DEV Community

Aditya Mittal
Aditya Mittal

Posted on Fully Autonomous

QuietShelf gives your sort-this-later pile a gentle landing

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 🦥

This is a submission for the Hacktoberfest Open-Source AI Challenge Week3: Slow and Steady.

What I Built

A note called untitled.md rarely tells you where it belongs. A folder full of such notes can turn a five-minute cleanup into another task to postpone.

QuietShelf gives that pile a review desk. Choose text or Markdown notes, describe what your shelves mean, and let a small open-weight model rank where each note might belong. The app shows a source excerpt and the closest shelf scores. You can confirm a suggestion, choose somewhere else, or leave the note in the inbox.

The useful boundary is simple: the AI proposes; your reviewed decisions become an export. QuietShelf never moves or deletes the originals. Exact copies are highlighted so you can compare them later, without treating duplication as permission to throw something away.

This is a new project built on 20 October 2026 with Codex assisting implementation, testing, documentation and demo assembly. The example pile is fictional. No private notes, messages or accounts were scanned.

Demo

https://vimeo.com/1237654140

The 72-second video is an edited walkthrough of actual app captures, with English captions. It shows local classification, a manual override, duplicate review and uncertainty. It is not a continuous screen recording.

Code

https://github.com/AdityaM274/QuietShelf

The repository distributes the complete source as QuietShelf-source.zip: extract it and run inside the QuietShelf folder. It includes the interface, Python server, model downloader, immutable model revision and hashes, fictional examples, tests and run instructions. App code is MIT licensed. The model retains its Apache-2.0 license. After setup, open http://127.0.0.1:4175/ and try the fictional pile.

How I Built It

The core is sentence-transformers/all-MiniLM-L6-v2, running with ONNX Runtime on the CPU. It turns each note and shelf description into an embedding. Cosine similarity produces a ranking; it does not generate a new description of the note.

Long notes are split into overlapping token chunks and their normalized vectors are averaged. That avoids silently reading only the first 256 tokens, though averaging can still blur mixed topics. A future version could show chunk-level shelf disagreements instead of collapsing them.

Shelf descriptions are editable because an organizer's categories are personal. “Building” could mean software releases to one person and workshop projects to another. Changing a description invalidates earlier reviews, so yesterday's approval cannot silently become today's different decision.

The default similarity threshold is0.32, with a0.04 minimum gap between the two best shelves. These are conservative engineering choices, not calibrated confidence probabilities. A tiny fragment, weak score or close tie stays flagged for your choice.

The source excerpt is copied from the note using a lexical-overlap heuristic. It helps a reader inspect the material; it is not a generated summary or an explanation of the embedding network's internal reasoning.

Why Does Open Innovation Matter?

The model files are local, pinned to an immutable revision and checked against SHA-256 hashes. Once dependencies and weights are downloaded, the classification path needs no internet or provider account. Shelf descriptions can be changed without buying another inference call. The model, pooling code, threshold and refusal behavior are all inspectable.

The privacy claim has a precise boundary: the browser sends chosen text to a loopback server on this machine. There is no remote inference request and no server-side document database. That does not make process memory a secure vault, or protect an exported JSON file once someone shares it. Exports include filenames and source quotes, so the interface says so before the user shares them.

Local inference also makes abstention affordable. There is no reason to force a confident-looking answer just because another API call costs money.

What the Checks Actually Showed

Ten automated tests pass, including real inference while socket connections are blocked, long-text chunking, custom shelves, input validation, duplicate handling and local HTTP boundaries.

In the fictional fixture, all five substantive distinct notes ranked their intended shelf first. Three still fell below the acceptance threshold or margin and stayed for review. That was useful feedback: ranking first and being safe to assign are different questions. The tests now check both.

Browser validation confirmed manual overrides, review invalidation, filters and an export containing exactly two reviewed notes while excluding five unreviewed notes. No browser console errors were observed in that check.

This is not an accuracy benchmark or a user study. The model is strongest for English short text; unusual domains, code and mixed-topic documents can be difficult. There is no measured minutes-saved claim. QuietShelf currently produces a review plan rather than completing the filesystem cleanup. That narrower scope keeps the experiment useful and its consequences easy to inspect.

The next improvement would be a measured study of how much review effort the suggestions actually remove, followed by a reversible copy workflow. For now, the small payoff is concrete: a messy pile gets an understandable first pass, and the reader keeps control of the last step.

Top comments (0)