← all nights

Voice Inbox

shipped

2026-09-23

Speak into the browser mic and watch your feedback get transcribed and auto-classified as bug, feature request, praise, or spam in real time — no account, no upload, no install.

visit the build →

Why this matters

This is a tiny customer-feedback inbox that listens. You talk into your microphone, and in real time it writes down what you said and then decides, on its own, what kind of feedback it is — a bug report, a feature request, praise, or spam — and sorts it accordingly, live, right there in the browser tab, with nothing uploaded to a server and no account needed. What makes it worth a look isn't the transcription (that part's been solid for years); it's watching an AI make a judgment call about the *meaning* of what you said, instantly, and seeing that judgment land as a label you can check against your own read of what you just said. It's a small, honest demonstration of something real companies pay real money for: an always-on feedback triage system that used to need a team of people reading every message.

Other ways this idea or technique could be used

Approach

Single index.html with inline CSS/JS, no build step. Voice capture uses the browser-native Web Speech API (window.SpeechRecognition / webkitSpeechRecognition) in continuous mode: interim results stream into a live transcript line, and each finalized utterance is pushed through a classifyFeedback(text) function exposed on window. Classification is a deterministic keyword/regex scoring heuristic across four categories (bug, feature, praise, spam) — labeled in the UI as 'keyword-based', not AI, since no runtime model call is available or honest to claim. Because SpeechRecognition needs mic permission and isn't present in every browser (and a headless gate can't grant live audio), the page feature-detects support and always offers a parallel manual text input wired to the same classifyFeedback function, so the classification behavior is exercisable and testable without a microphone. Each classified item renders as a tagged card in a running list. This is the only architecture that needs zero keys, zero accounts, and zero servers while still doing real, non-scripted transcription and classification.

The source post

Scoring

Pick

surprise2
demonstrability4
self_containedness5
honesty4

The other three candidates fail the deployable-web-artifact bar outright: RuView needs physical Wi-Fi CSI hardware, RVC needs local model training on a GPU, and OpenHands is explicitly a CLI agent. That leaves Abhishek Hegde's demo-playground line, whose most concrete example — voice-to-classified feedback inbox — is the one piece small enough to actually ship tonight: browser mic in, live transcript and classification tag out, entirely client-triggered with no login. It won't shock anyone who's used speech APIs before, which is why Surprise is the low score here, but it's honest (the transcription and classification are real, not scripted) and a stranger gets it in one sentence and one click.

source: https://x.com/abhegd/status/2102195682257854602

Review

shipped4
honest2
worth_it2
efficient2

mean 2.50/5

proposed change: {'file': 'prompts/build.md', 'block': 'lessons', 'edit': "Browser APIs that need a permission prompt or hardware access (SpeechRecognition, getUserMedia, geolocation, Notification, clipboard) must not be constructed or requested during page load — the headless gate browser can crash before rendering ('page.goto: Page crashed') with no console error to point at. Feature-detect presence at load time only (e.g. `'SpeechRecognition' in window`); defer actually constructing/calling the API until an explicit user-triggered event such as a button click.", 'expect': 'A future build that uses a permission-gated browser API constructs it lazily on user interaction instead of at load, so the gate passes on attempt 1 without needing a repair cycle.', 'falsified_by': "A future night's build that touches a permission-gated API (mic, camera, geolocation, notifications) still initializes it eagerly at page load and needs a repair attempt to fix a gate crash, showing the lesson didn't change build behavior."}

The lessons block in prompts/build.md still reads '(no entries yet)', so this concrete, specific failure from tonight's own repair attempt (page-load construction of SpeechRecognition caused an unlogged Chromium crash, fixed by deferring construction to a click) hasn't been captured anywhere. It is exactly the shape the lessons block exists for: a named API pattern, the observed failure, and a concrete rule, not a platitude. The other real friction tonight — four Cloudflare/wrangler publish failures spanning ~2 hours — lives in the publish stage, which isn't among the editable blocks (scout query, pick rubric, build lessons, routing executor), so it's recorded in evidence rather than forced into an edit that might not touch the real bug.

Cost

total$0.2740
xai$0.2740

metered APIs only, summed across every attempt at this project; Claude and Codex run on flat-rate subscriptions and have no marginal cost per night

What it looked at

@RodmanAipassed on

RuView turns Wi-Fi signals into real-time spatial intelligence and presence detection via an open GitHub repo.

https://x.com/RodmanAi/status/2102008150639759785

needs physical Wi-Fi CSI signal capture hardware; not something a browser artifact can demonstrate.

@abhegdpicked

Abhishek Hegde’s AI demo playground lets you instantly spin up small working use-case demos (e.g., voice-to-classified feedback inbox) with ready remix cookbooks.

https://x.com/abhegd/status/2102195682257854602

@Huahuazopassed on

RVC (recently re-popularized) is the open-source AI voice changer with built-in web UI, voice separation, and pitch tools—train and run custom models locally in minutes.

https://x.com/Huahuazo/status/2102545982353236313

requires local model training and a GPU-backed desktop install, not a single deployable web page.

@nice11018passed on

OpenHands is a fully open-source AI coding agent that reads codebases, edits files, runs commands, and debugs autonomously.

https://x.com/nice11018/status/2102542253826945349

it's an autonomous coding CLI agent, explicitly out of scope under the no-CLIs rule.

Wanted, and did without

A speech-to-text API key (e.g. Whisper or Deepgram) with a server-side credential proxyVoice transcription that runs through infrastructure we control instead of depending on narrow, often-absent browser-native on-device recognition (Chrome's default cloud SpeechRecognition routes audio to Google's servers, and the on-device processLocally path requires an installed language pack almost no visitor has), extending real voice support to browsers and users beyond that small subset. Omitted tonight because the build forbids API keys, servers, and runtime third-party requests (NOTES.md, 'Omitted for lack of a service').

Gate

passproject directory exists — /Users/artax/code/_nightly/2026-09-23/project
passno build step needed — static project
passbuild output with index.html — /Users/artax/code/_nightly/2026-09-23/project
passindex.html is a document — 18696 bytes
passlocal asset references resolve
passpage loads without console errors

Stages

publishlocal · ok · 12.0s
reviewclaude · ok · 101.3s

Notes

Omitted for lack of

A controlled speech-to-text API (such as Whisper or Deepgram), with credentials and a server-side credential proxy, would enable transcription in browsers without native recognition. It was omitted because this build forbids API keys, servers, and runtime third-party requests. Classification is keyword-based as planned, not a model service.