This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.
What I Built
Loafline answers a question most productivity apps pretend doesn't exist: "Can I safely loaf on this commitment?"
You paste text or record a short voice memo. Open-source AI returns:
- a defer verdict (
loaf/this_week/today) from TabPFN on tabular features, - the smallest closing action so you are not ghosting anyone,
- a safe-until date,
- and a markdown permission slip you can copy into Slack or email.
The Sloth ledger (/history) stores every check on MongoDB Atlas, surfaces similar past promises from Tiger Data (pgvector), and can generate a Gemma morning digest. Batch mode triages up to five standup brain-dump lines in one pass.
Lazy payoff (measured on production): our Render smoke test estimated ~14 minutes of rumination avoided per check versus manually re-listening, drafting, and worrying.
Demo
- Live app: https://loafline.onrender.com
- Health: https://loafline.onrender.com/api/health
- Suggested 60s flow: voice memo → verdict → Copy permission slip → Ledger stats → batch mode
Code
Loafline
Loafline is a Hacktoberfest Week 3 (Slow and Steady) project: open-weight AI that rewards laziness by telling you which commitments you can safely defer, with the smallest closing action and a “safe until” date.
What it does
- You paste text or record a short voice memo.
- Gemma (open-weight via OpenRouter) extracts who/what/when.
- TabPFN classifies defer risk from tabular features (with a bundled training set).
- Tinker polishes the sloth-friendly verdict copy.
- Backboard recalls patterns; SerpApi optionally grounds deadlines.
- Tiger Data (pgvector) surfaces similar past promises.
- MongoDB Atlas stores the ledger; ElevenLabs transcribes voice and reads the verdict aloud.
- Sentry traces the pipeline; Mastra orchestrates the workflow.
- Deploy on Render (
render.yaml).
Local dev
cp .env.example .env.local # fill keys npm install npm run dev Set DEMO_MODE=true to try the UI without APIs.
Render deploy
Repo: github.com/smriad/loafline
Option A — Blueprint (recommended)
- Go to dashboard.render.com → New →…
How I Built It
Loafline is a Next.js 15 app on Render (render.yaml). A Mastra workflow wraps a single pipeline step that orchestrates partner APIs server-side.
flowchart LR A[Voice or text] --> B[ElevenLabs STT] B --> C[Gemma extract] C --> D[TabPFN defer class] D --> E[Tinker verdict copy] E --> F[Backboard memory] F --> G[SerpApi ground] G --> H[Tiger echo search] H --> I[(MongoDB ledger)] I --> J[Permission slip + lazy payoff] | Partner | What it does in Loafline |
|---|---|
| Render | Hosts the web app and API |
| Gemma (open-weight via OpenRouter) | Extracts who / what / deadline from messy input |
| TabPFN | Classifies defer risk from feature rows (word_count, deadline words, …) |
| Tinker | Polishes sloth-friendly verdict prose |
| Mastra | Workflow orchestration for /api/loaf |
| MongoDB Atlas | Persistent commitment ledger |
| Tiger Data | pgvector echoes — "you promised this before" |
| ElevenLabs | Speech-to-text + verdict text-to-speech |
| Backboard | Cross-session memory on recurring defer patterns |
| SerpApi | Optional deadline / context grounding |
| Sentry | Traces the agent pipeline (loafline.run span) |
Production partner wall currently reports 11/11 integrations live after env vars are set on Render.
Why Does Open Innovation Matter?
A closed "productivity" API would own your guilt graph: every promise, every voice memo, every pattern of avoidance. Loafline keeps the open pieces at the center:
- Gemma (open-weight) does the language understanding — you can swap models or routers.
- TabPFN scores defer risk from auditable tabular features shown in the UI, not a black-box "urgency score."
- Voice and ledger data flow through your MongoDB / Tiger services, not a vendor training set.
That matters for Slow and Steady: the win is not hustle — it is doing less mental work without handing your commitments to a single closed model vendor.
The Lazy Payoff
| Scenario | Manual (est.) | Loafline |
|---|---|---|
| Re-listen to a voice memo + draft a reply | ~8–15 min | ~2.5 min (voice path) |
| Monday standup — 5 loose promises | ~40+ min of triage | Batch mode (5 lines, one flow) |
The app surfaces lazyPayoffMinutes on every verdict and aggregates minutesSavedTotal on the Ledger page — numbers you can screenshot for judges.
Prize Categories
I'm entering:
- Best Use of Render
- Best Use of Gemma
- Best Use of TabPFN
- Best Use of Tinker
- Best Use of MongoDB Atlas
- Best Use of Tiger Data
- Best Use of ElevenLabs
- Best Use of Backboard
- Best Use of SerpApi
- Best Use of Sentry Agent Tracing
- Best Use of Mastra
Built for Hacktoberfest 2026 — AI belongs to everyone. Questions welcome in the comments.
