Voice-driven UI prototyper for Next.js: local whisper.cpp transcribes mic audio on the Mac, Jev answers a batch of typed Choice/Noul questions per utterance, and json-render renders the design as shadcn/ui React.
Speak a UI into existence: local whisper.cpp transcription → Jev (TypeSafe AI) → json-render → shadcn/ui. A voice-driven UI prototyper built on Next.js.
Forks
1
Last pushed
Updated Sep 2026
Repo stats from the GitHub API, cached Oct 2026.
About this project
Speak a UI into existence. Audio stays on your Mac; the transcript goes to Jev (TypeSafe AI's System One model), which answers a batch of typed questions; code applies the edits; json-render renders shadcn/ui components. Based on the loop in Jonathan Moore's "Designing at the speed of voice" gist, the TypeSafe docs, vercel-labs/json-render and shadcn/ui.
Mic audio stays on the Mac via whisper-server; only the transcript is sent to Jev for typed design decisions.
One systemOne call per utterance asks about 16 Choice/Noul questions with targets built from live canvas ids.
Replacement text is parsed deterministically in code, and low-confidence answers count as no or none.
JEV_MOCK=1 swaps in a rule-based stand-in so the voice loop runs offline, labeled jev or mock per turn.
Watch out
Needs a TypeSafe-compatible key via OpenRouter, Vercel AI Gateway, Cloudflare Workers AI, or direct access, plus a local whisper-server with ffmpeg; phrasing and transcription quality affect results. Copy reviewed against the repository README on 2026-10-04, not from running it.
Questions about this entry
Short answers drawn from the linked project or page.
Mic capture goes through ffmpeg to a local whisper-server on port 8178. The README states audio stays on the Mac and only the transcript is sent to Jev, with the turn log showing which provider answered.
No. Target options are built from live canvas ids so Jev can only pick real elements, and replacement text is parsed from the transcript in code rather than generated. Noul answers under 0.5 and Choice under 0.15 confidence count as no or none.
Set JEV_MOCK=1 and a rule-based stand-in answers the same questions offline for testing the loop. The left panel labels every turn as jev or mock, and pnpm whisper plus pnpm dev run the pieces in separate terminals.
They resolve to the selected element, set by clicking the canvas or the id chips above it, falling back to the last edited element. The design state keeps stable ids with one level of card nesting, and the right panel shows every answer distribution.
Copy .env.local.example to .env.local, paste a key, then run pnpm demo to start whisper-server and next dev together. Open localhost:3000 and press Start listening.
OpenRouter, Vercel AI Gateway and Cloudflare Workers AI, all through the official @typesafe-ai/sdk with a different base URL. The turn log shows which provider answered.
Yes. Set JEV_MOCK=1 and a crude rule-based stand-in answers the same questions offline, with every turn in the left panel labelled as coming from jev or mock.
Other listings of this project
Forks and copies of this project in the directory. This entry is the canonical one.
A zero-build Node server and static page for trying Jev: send a state plus choice, score and noul questions and read back options, scores and calibrated probabilities, with a beta browser agent that drives a real browser through Playwright.
A local Jev-compatible POST /v1/systemone server in TypeScript that maps typed questions onto oMLX classification prompts and normalizes logprob-style answers.
Express and Vite playground for System One-style decisions, taking a state plus typed questions and returning structured answers. Three swappable backends: per-option LLM micro-scorers, one structured JSON call, or a locally served decider model.
Native Swift 6 package that evaluates @Generable structs and enums through System One decision models in 15-150 ms, with on-device Laya, self-hosted laya-serve, and TypeSafe Jev cloud backends.
Jev takes text only; Clef-omni adds image, audio, and video input and Liquid d1 adds images, each keeping the same typed-answer shape. Where that matters, where it does not, and the costs the vendors underplay.
One model in September, a dozen by October. Clef, Liquid d1, Perplexity, and OpenAI all ship the same typed-answer shape now. How to read the rival benchmarks and pick on your own task.
Hundreds of repositories carry the system-one tag, but the ecosystem is a dozen ideas in different sizes. A tour of the families, the licenses, and what a download does not include.