DEV Community

Godly K Mathews
Godly K Mathews

Posted on

Sloth Inbox: A Little Less on Your Mind, Powered by Local AI

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

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

What I Built

Sometimes the tiring part of a to-do list is deciding where to start.

Send those slides. Pay the bill. Buy groceries. Reorganize your entire photo library… someday. They all end up in the same pile, even though they deserve very different amounts of attention.

I built Sloth Inbox, a small app that turns that pile into a manageable plan using an open-weight model running locally.

Paste your notes, then choose how much room you have today:

  • Just one thing: get one priority to start with.
  • A little more: get up to three priorities.

Sloth Inbox returns a short summary, suggested first steps, and a “Parked for later” list with reasons the remaining tasks can wait. Each item includes an exact quote from your notes so you can check where it came from.

You can check off tasks, copy the plan, or download it as a text file.

The lazy part is letting the model handle the sorting. You still decide what to do.

Demo

Watch the Sloth Inbox demo on YouTube

To try it locally, follow the setup instructions in the repository. The “Try some messy notes” button provides sample input; the local model generates the actual result.

Code

View Sloth Inbox on GitHub

The application is MIT licensed. It uses Node.js 22+ and Ollama, with no npm dependencies, API keys, database, or build step.

How I Built It

The AI core is Qwen3 8B, running through Ollama. The interface uses plain HTML, CSS, and JavaScript, backed by a small Node.js HTTP server.

The flow is straightforward:

Paste notes in the browser
         ↓
Local Node.js server
         ↓
Qwen3 through local Ollama
         ↓
Validate the response
         ↓
Show priorities and parked tasks
Enter fullscreen mode Exit fullscreen mode

The model handles the language work: interpreting reminders, merging duplicate tasks, recognizing completed chores, and suggesting priorities.

I used Ollama’s structured-output API to request a JSON response with a defined shape. The server then checks the required fields, priority limits, and source quotes before displaying the plan.

Every source quote must appear verbatim in the original notes. These checks make the output easier to inspect, although they cannot guarantee that the model’s interpretation is correct.

The implementation was also informed by two community write-ups: calling a local model without an SDK and using structured outputs with Ollama.

For verification, all 12 automated tests passed, alongside separate real-model and browser checks. In the synthetic test notes, the three-priority plan selected the urgent slides and electricity bill, parked the photo-organizing task, and avoided turning completed laundry into another chore.

The measured local runs took approximately 12–18 seconds. Those are generation times on the development machine; I haven’t measured minutes saved in everyday use.

Why Does Open Innovation Matter?

Personal notes can contain information I would rather keep on my own computer. Running the model locally makes that a practical design choice.

Sloth Inbox sends notes only to Ollama on the same machine. It rejects cloud model aliases, and the app keeps notes and results in page memory rather than automatically saving them.

After the app, Ollama, and model weights are installed, generation works without an internet connection. The initial downloads still need internet.

Open weights also give the project room to change. Qwen3-8B is Apache-2.0 licensed, and the app lets you select another installed local chat model. The prompt and output schema are ordinary code that anyone can inspect and modify.

There is no per-request API fee, though hardware and electricity still have costs. The tradeoff is that local inference needs enough memory and may take longer than a hosted service.

For this project, that tradeoff fits. A short wait is reasonable when the purpose is to reduce the effort of sorting personal notes while keeping the computation under your control.

One small step. A place for the rest. Permission to take it slowly.


AI assistance disclosure: I used Codex to help implement and test Sloth Inbox.

Top comments (0)