DEV Community

Anjan Kumar Mahto
Anjan Kumar Mahto

Posted on

SlothLog: one-tap attendance that writes its own slow recap

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.

Project: github.com/ItzmeJan/slothlog

What I Built

SlothLog is a tiny attendance app for people who hate attendance apps.

You add a name, tap once to check in, and tap once to check out. There is no account, no dashboard to configure, and no spreadsheet to keep alive. At the end of the week, an open-weight model reads the log and writes two calm sentences: one warm observation and one small suggestion for being lazier tomorrow.

The effort it saves is small but real: no paper sheet, no formulas, no "what time did you get in?" messages. The app remembers so you don't have to.

Demo

SlothLog screenshot

Run it locally in two commands:

bun start
# open http://localhost:3000
Enter fullscreen mode Exit fullscreen mode

Optional sample data:

bun run seed
Enter fullscreen mode Exit fullscreen mode

The demo uses gemma4:cloud through Ollama. The app also works with a local open-weight model; the UI labels which one it used and whether the data left the machine.

Code

Repository: ItzmeJan/slothlog

The whole app is three small JavaScript files and zero runtime dependencies:

  • server.js — Bun.serve + bun:sqlite + one Ollama call
  • public/index.html — one page, vanilla JS, no build step
  • seed.js — optional demo data

MIT licensed.

How I Built It

  • Bun runs the server and the SQLite database through the built-in Bun.serve and bun:sqlite.
  • Vanilla JavaScript handles the one-page UI. No framework, no bundler.
  • Ollama receives a compact seven-day attendance summary and returns the recap. The app picks an installed open-weight model, or accepts OLLAMA_MODEL.
  • Graceful fallback: if Ollama is not running, a deterministic recap keeps the app useful instead of showing an error.

The prompt asks for exactly two sentences, names the most consistent person, includes one real number, and suggests one tiny lazy action. It is intentionally short: attendance data is small, and the recap should be smaller.

Why Does Open Innovation Matter?

Attendance is personal and boring. A closed SaaS would want an account, a subscription, and a copy of everyone's schedule just to render a table. SlothLog keeps its data in a local SQLite file and lets the owner choose the model: a tiny local one for privacy and offline use, or a larger hosted open-weight model when quality matters more.

That choice is the point. The AI is not a rented feature bolted onto a CRUD app. It is the part that turns a dry log into something a human would actually read, and it runs on infrastructure the owner controls.

The Lazy Payoff

Even in the demo data, the recap took one click and pointed at the person with six visits while I was still deciding whether to open a spreadsheet. That is the entire product: a little less admin, a little more sloth.

Prize Categories

Best Use of Gemma — the demo runs through Ollama with a Gemma model.

Top comments (0)