---
title: "Patterns: browser, computer use, voice and product UI"
type: community
source_tier: community
tags: [ideas, patterns, browser-agents, computer-use, ui]
created: 2026-09-21
updated: 2026-09-21
confidence: medium
sources:
  - raw/x/INDEX.json
  - raw/x/gregpr07-2100411066966749359.md
  - raw/x/dabit3-2100780008193020049.md
  - raw/x/0xidanlevin-2100937437325205568.md
  - raw/x/trycua-2101437979180904640.md
  - raw/nate/jev-shaped-problems.md
  - raw/x-repos/INDEX.json
jev_version: "jev-1.13.0"
summary: "Community patterns where Jev picks the next on-screen action or labels items inside a product UI: browser agents, site-exposed tools, desktop/mobile/voice control, in-UI classifiers (P12-P14, P34)."
---

# Patterns: browser, computer use, voice and product UI

> **TL;DR** Four patterns where the options are built by code from what is on screen and Jev only picks: next browser action (P12), site-exposed tools (P13), desktop/mobile/voice/form control (P14) and a classifier inside an interface element (P34). Text entry always needs a small LLM beside it. Community tier: official pages win conflicts.

## How to read this

**Fit** is our verdict against [[concepts/jaggedness-jev-1-13]] and [[concepts/system-one]]: `strong`, `workable` (caveat named) or `poor`. Pattern IDs are permanent; the index of all patterns is [[ideas/patterns]].

## Browser, computer use & voice

**P12 Next browser action from a code-built menu**
- *Decision* which on-page control advances the task
- *State* the goal, ids and labels of the controls observed this step, the last result
- *Ask* `Choice` over candidate ids — "Which option in `candidates` advances `goal`?"
- *Code* resolve id → predefined action, execute, re-observe; a small LLM writes text args
- *Fit* strong — the menu is rebuilt each step, so nothing can be invented
- *Map* [[cookbooks/function-calling]]
- *Seen* [@gregpr07](https://x.com/gregpr07/status/2100411066966749359) (Browser Use: flight search in ~7 s for $0.0039, new action space every step, small LLM only to type — author-reported), [@decapostos](https://x.com/decapostos/status/2100519512730738871), `browser-use/jev-ultrafast`

**P13 Picking a site-exposed tool instead of a click**
- *Decision* which of the page's declared tools to call next
- *State* task, available tool descriptions, previous results
- *Ask* `Choice` over tool names; a fast cheap LLM generates the arguments
- *Code* validate arguments against the tool schema before executing
- *Fit* strong — @0xidanlevin reports 49/49 tasks with WebMCP vs 25/49 on their click harness
- *Map* [[cookbooks/function-calling]]
- *Seen* [@0xidanlevin](https://x.com/0xidanlevin/status/2100937437325205568), `nekuda-ai/WindTunnel`

**P14 Desktop, mobile, voice and form control**
- *Decision* which element to act on, what the phrase meant, which field to fill
- *State* OCR/accessibility elements with ids, the live transcript, values extracted elsewhere
- *Ask* `Choice` for intent and for target in one request; per field `use | check | click | skip`
- *Code* perception is a separate, fallible stage — Jev sees no pixels, extracts no values
- *Fit* workable — @trycua reports 83.6% for hosted Jev on forms vs 99.7% for their task-specific specialist
- *Map* [[cookbooks/pre-parsed-value-extraction]]
- *Seen* [@instantricecook](https://x.com/instantricecook/status/2100814590300889426), [@trycua](https://x.com/trycua/status/2101437979180904640), `awlevin/typesafe-computer-use`

## Inside the product UI

**P34 Classifier inside an interface element**
- *Decision* what label, level or yes/no each visible row, message or field gets, for a judgment the user names
- *State* one item's text per call; visible items batched and sent in parallel
- *Ask* `Score`, `Choice` or `Noul` per item. When the user types their own judgment ("Urgency" as a column heading), turn it into ONE narrow question, show it, let them edit it
- *Code* key stays on the server, never in the browser; cache by item + question, re-run when the item text changes; sort, filter and any math in code; low confidence shown in words, not colour alone
- *Fit* strong — many tiny independent judgments, no writing; @dabit3 reports ~100 ms per rating (author-reported)
- *Map* [[patterns/fan-out]], [[concepts/score]], [[patterns/confidence-routing]]
- *Seen* [@dabit3](https://x.com/dabit3/status/2100780008193020049) (predictive spreadsheet; intent-ranked launcher); design rules from [Nate B. Jones](https://unlock-ai.natebjones.com/guides/jev-shaped-problems), placement 4 of his four

## Related

- [[ideas/patterns]] — index of every pattern; [[ideas/consult]] — the consult procedure
- [[ideas/patterns-agents]], [[ideas/patterns-data]], [[ideas/patterns-business]] — the other domain pages
- [[ideas/repos-agents]] — the browser and computer-use repos; [[ideas/field-reports]] — what independent testers measured
- [[cookbooks/function-calling]], [[patterns/fan-out]], [[patterns/confidence-routing]]

## Sources

Post and repo links are inline in each pattern's *Seen* line. Raw captures (`raw/x/`, `raw/x-repos/`) live in the private repo.
