jev-voice-browser
Control a real browser by voice.
Overview
jev-voice-browser (github.com/moritzkremb/jev-voice-browser) wires Playwright, a localhost control page, and TypeSafe Jev into a voice-driven browser. Partial transcripts debounce every two hundred milliseconds; the server snapshots up to one hundred elements, then asks nine to eleven typed questions in one System One call returning in about two hundred fifty to three hundred fifty milliseconds. Policy code decides act, wait, ask, or ignore. Search queries, typed text, and URLs are candidate spans chosen by Choice and copied verbatim; Jev never generates natural language.
Problem: Voice UIs either hallucinate actions in an LLM monologue or lag so badly that you finish the sentence before anything happens.
Built for: Hackers experimenting with headed Chromium plus Web Speech who want batched Jev gates on every partial transcript.
First indexed on Jev Directory: 2026-09-18
Creator and team
- Name
- Moritz Kremb
- Handle
- @moritzkremb
How Jev is used
- Role in the product flow
- Voice debounce loop with batched intent, target, safety, and scroll Score questions
- Primitives
- ChoiceScoreNoul
- State in
- Partial transcript text plus numbered DOM snapshot (roles, names, indices) and lightweight session context from constants.js.
- Decision out
- Intent operation, element target, site routing, command completeness, addressee checks, destructive flags, and scroll amount probabilities consumed by policy thresholds.
- Web Speech streams partials over websocket to Node server
- Debounce and snapshot controlled Chromium window
- Single Jev request with parallel questions (intent, target, safety, scroll)
- Playwright executes clicks, navigation, or scroll; destructive paths require spoken confirm
Voice browsers fail when you treat speech as chat completion. Moritz batches a dozen binary and Choice questions so one forward pass answers whether you meant the browser, which numbered overlay to click, and whether scroll should be a little or a lot. Ignored chit-chat stays near zero is_command probability per README table. Destructive clicks raise a confirm toast instead of trusting a single threshold. The API key never reaches the browser control page; only the Node process calls TypeSafe. No public X video was available when this batch shipped, so the product page stands on README architecture and the madewithjev build write-up linked from catalog.
Sourced performance claims
- README cites about $0.0002 per real API call and two hundred fifty to three hundred fifty ms Jev latency per debounced transcript.Source: github.com/moritzkremb/jev-voice-browser README
- Public GitHub repo moritzkremb/jev-voice-browser had about two hundred forty four stars when this listing was drafted.Source: GitHub star count September 2026
Features and stack
Features
- Headed Chromium with live probability bars on control UI
- Batched Jev questions per partial transcript
- Destructive action confirm flow
- Text command fallback when microphone unavailable
Stack
- Node.js
- Playwright
- Web Speech API
- TypeSafe Jev jev-1.13.0
Pricing: Open source; README estimates fractions of a cent per Jev call with your TypeSafe key.
Links
FAQ
- Does Jev write search queries?
- No. README states code extracts candidate spans and Jev picks one verbatim via Choice.
- Which browser supplies the microphone?
- You open the control page in Chrome or Edge; Web Speech is unavailable in Firefox or Safari per README.
- Can I attach to my own Chrome?
- Yes. ./run.sh --cdp http://127.0.0.1:9222 attaches to an existing debugging port.
Related learn guides
Original Jev guidance that pairs with this product pattern.
- Jev use cases
The patterns builders actually search for: moderation, routing, triage, RAG verify, and agent gates.
- System One model
The model family behind Jev: parallel typed questions, one forward pass, probabilities you can threshold.
Related products
Hand-picked neighbors with rich profiles or overlapping tags.