cd /news/ai-tools/bit-by-ear-daily-two-minute-audio-le… · home › topics › ai-tools › article
[ARTICLE · art-157425] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Bit by Ear: Daily Two-Minute Audio Lessons from Your Own Notes

A developer built Bit by Ear, an open-source installable PWA that converts a user's notes and PDFs into scheduled two-minute daily audio lessons, with a background worker generating each next episode after the user approves a learning plan once. The app runs the curriculum-writing model through a single OPENROUTER_MODEL environment variable, letting users swap open-weight models like GLM via configuration, and ships with deterministic mock providers so the full flow runs locally without API keys or cost. Live generation uses OpenRouter and ElevenLabs keys, and the project deploys via render.yaml with a web service, background worker, and PostgreSQL.

by read2 min views5 publishedOct 25, 2026

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

Bit by Ear turns the notes and PDFs you've been meaning to read into short daily audio episodes. Add a topic, your context, and your sources; adjust and approve the proposed learning plan once. From then on, a background worker prepares each next episode on schedule, and you just press play — two minutes or less, with each episode briefly recalling the previous idea before introducing a new one. It's a private, installable PWA with saved playback position and optional ready-episode notifications. The lazy part: you do the thinking once, then only listen.

▶ Watch the demo on Streamable

▶ Live

Small listens. Steady learning.

Explore something you’ve been meaning to learn, one idea at a time. Bit by Ear turns your own notes and documents into connected daily audio stories. Add a topic and context, adjust and approve your learning plan, then listen at your own pace in a private, installable web app. Each episode briefly recalls the previous idea and introduces a new one. Published audio is measured to be two minutes or less; episode-ready notifications are optional.

Requirements: Node.js 22.22 or newer in the 22.x line, npm, and Docker Desktop (or Docker Engine with Compose).

npm ci
cp .env.example .env
npm run local:setup
npm run dev

Open http://localhost:5173. Local development uses deterministic mock providers, so the complete learning flow works without provider credentials. Add OpenRouter and ElevenLabs keys to .env and set PROVIDER_MODE=real when you want to try live generation. Keys stay…

render.yaml) with web service, background worker, and PostgreSQL. Local development uses deterministic mock providers, so the complete flow runs with no API keys and no cost. The part of the app that actually writes the curriculum is an open-weight model, and it sits behind a single environment variable — OPENROUTER_MODEL. Swapping GLM for any other open-weight model is a config change, not a rewrite, so the project never depends on one vendor's roadmap or pricing for its core intelligence. Because generation is cheap and open, a hobby-scale "daily audio for one learner" app is economically viable, and anyone can fork it and run the whole flow locally on mock providers without signing up for anything. A closed, single-provider API would have made both the price of daily generation and the longevity of the project somebody else's decision.

Setup is the only real work: upload sources, tweak the plan, approve. After that the daily cost is pressing play on a two-minute episode — no re-reading, no highlighting, no deciding what to study next. The worker keeps preparing episodes even when the free web service sleeps, and there are no streaks or guilt mechanics; missing a day just means an episode is waiting.

── more in #ai-tools 4 stories · sorted by recency
── more on @bit by ear 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/bit-by-ear-daily-two…] indexed:0 read:2min 2026-10-25 · —