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
Run it locally in two commands:
bun start
# open http://localhost:3000
Optional sample data:
bun run seed
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.serveandbun: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)