Jev Ultrafast
Jev picks the browser op and DOM target in one shot; a tiny LLM only shows up when something needs typing.
by @gregpr07
Overview
Jev Ultrafast is Browser Use's open agent where TypeSafe Jev picks an operation (CLICK, TYPE_TEXT, SELECT, SCROLL, WAIT, DONE, BLOCKED) and a numbered DOM target from a fresh element table each step. A small LLM only runs when the operation is TYPE_TEXT.
Problem: LLM-in-the-loop browser agents spend too long and too much per click when every step is open-ended generation.
Built for: Teams building Browser Use style agents who want a reference hybrid policy with documented timings.
First indexed on Jev Directory: 2026-09-19
Creator and team
- Name
- Gregor Zunic
- Organization
- Browser Use
- Handle
- @gregpr07
“Seven seconds, four tenths of a cent, and Jev clicks the right DOM node while a tiny LLM only types when it must.”
How Jev is used
- Role in the product flow
- Per-step browser control routing (operation + target selection)
- Primitives
- Choice
- State in
- Structured element table from a single browser snapshot (role, name, value, numeric index). No screenshots in the default agent loop per README.
- Decision out
- Operation head plus speculative target heads (click_target, type_text_target, select_target) resolved in one TypeSafe request; only the matching target executes.
- Snapshot page into indexed element table
- One Jev request chooses operation and compatible target
- CLICK/SELECT execute directly; TYPE_TEXT triggers small LLM for string then browser input
Each observation rebuilds a finite action space. Jev consumes structured state, not pixels, and returns operation and target probabilities in one round trip per decision cycle. Target questions are speculative: if the operation is CLICK, only click_target can fire. TYPE_TEXT is the only branch that calls a separate text model (Mercury in the documented demo configuration). This split is why public clips show sub-second decisions with occasional LLM latency only on typing steps.
Sourced performance claims
- Google Flights Zürich to London task completed in 7.073s at 1× in the published recording.Source: github.com/browser-use/jev-ultrafast docs/performance.md
- Median Jev latency 178ms across 17 requests in that recording.Source: github.com/browser-use/jev-ultrafast docs/performance.md
- Median optimized runtime 7.092s vs 9.450s original arm in three matched pairs.Source: github.com/browser-use/jev-ultrafast docs/performance.md
Features and stack
Features
- Local inspector UI on port 8766 with Choose next stepping
- Browser Harness integration for Chrome debugging
- Documented flight, Wikipedia, and hotel fixture benchmarks
- Python library API via jev_ultrafast.Agent
Stack
- Python
- Browser Harness
- TypeSafe Jev (jev-1.13.0 in benchmark doc)
- OpenRouter text helper for TYPE_TEXT
Pricing: Open source agent; TypeSafe and text-model keys are bring-your-own. Recording notes ~$0.00006272 OpenRouter for two text calls only.
Demo
Showcase clip with the same lightbox player as the homepage. Click to play.
Browser Use ultrafast flight search
Seven seconds, four tenths of a cent, and Jev clicks the right DOM node while a tiny LLM only types when it must.
Blink-and-you-miss-it browser use
Jev plus computer use moves so fast you need slo-mo to see the DOM click. LLMs are still catching up.
Links
FAQ
- Does Jev see screenshots?
- The default agent loop uses structured DOM state per README. The inspector can opt into screenshots for humans; the benchmark video uses a separate screencast.
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.
- Jev vs LLM classification
When to gate with System One probabilities instead of asking a chat model to label things.
Related products
Hand-picked neighbors with rich profiles or overlapping tags.