Skip to content

Jev directory

CommunityJev Cookbooks

Jev Canvas

A tldraw canvas controlled by voice and a webcam-tracked fingertip: every partial transcript triggers one Jev request through OpenRouter's Decisions API that decides the action, shape, colour, and place.
Stars
19
Language
JavaScript
License
MIT
Reading time
3 min
Published by
Community
Author
gaborishka
Last verified
Sep 2026

About this project

Say "make a yellow circle here" while pointing your finger at the screen, and the circle appears under your fingertip on a tldraw canvas. Speech comes from the browser's Web Speech API, the fingertip from MediaPipe hand tracking on the webcam, and every decision (is this a command, which action, which shape, which colour, which existing shape, where) from Jev, TypeSafe's decision-only model, reached through OpenRouter's Decisions API.

Quoted from the project's README. Read the full README.

Highlights

  • Commands work in English and Ukrainian, switching the recogniser between en-US and uk-UA; it understands one language at a time.
  • Actions cover create, move, delete, recolor, resize, duplicate, clear, and undo/redo, with 12 shape types and the 13 tldraw colours.
  • Speech not addressed to the canvas is ignored: 'what do you want for lunch' scores is_command around 2% and nothing happens.
  • With no camera or microphone, hovering the mouse, pressing /, and typing a command takes exactly the same path as a finished spoken sentence.
  • Pinching a shape and moving your hand drags it directly with no model call, and two commands in one breath both work.

Quickstart

bash
git clone https://github.com/gaborishka/jev-canvas.git
cd jev-canvas
cp .env.example .env   # paste your key after OPENROUTER_API_KEY=
npm install
npm run dev   # open http://127.0.0.1:5183

Watch out

MIT-licensed; needs Chrome or Edge for the Web Speech API, a webcam for pointing, Node 22.12+, and an OpenRouter key with alpha Decisions API access, which rate-limits bursts with HTTP 429.

Questions about this entry

Short answers drawn from the linked project or page.

Reactions & coverage

Posts, threads, and videos about this entry from around the web.

X: Text-to-screenshot (Malay Vasa)

X: Google's MediaPipe Decision Maker, tested in the browser

X: Playwright CLI + Jev vs Playwright MCP

X: jev-ultrafast splits every browser decision into operation, target and value. JEV passed 18,000 stars in its…

From the Jev guides

Original write-ups on what this entry is for.

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai