jev-reflex
Claude thinks, Jev reacts: browser tasks at about 100 ms a decision.
# jev-reflex
**Claude thinks, Jev reacts.** This is an MCP server that lets Claude hand a whole browser task to
[TypeSafe's Jev](https://docs.typesafe.ai/introduction). Jev makes each click/type/select decision in about 100 ms.
Claude stays in charge of planning the task and verifying the result.
```text
you ──▶ Claude ── browse(url, goal) ──▶ jev-reflex ──▶ Chrome (background tab)
▲ │
│ │ loop until done:
│ │ read page → Jev picks action (~100 ms) → execute
│ ▼
└──── status · steps with probabilities · final page text
```
---
## Why
Browser tools for LLM agents usually work one step at a time. The model looks at the page, picks a click, waits for
the result, and looks again. Every one of those steps is a full round trip to a frontier model: several seconds and
thousands of tokens per click. A 15-click form costs 15 of them.
Most of those steps don't require reasoning. "Which of these 40 elements is the *Where to?* field?" is a choice from
a list, not an open question. Psychologists call this kind of fast judgement **System 1**. Slow, deliberate
reasoning is **System 2**.
Jev is a *System One model*. It never generates free text. It gets a state and a fixed set of options, and it returns
one of those options with calibrated probabilities. That makes it fast, cheap, and unable to invent an element that
is not on the page.
jev-reflex splits the work between the two models:
| | Claude (System 2) | Jev (System 1) |
| --- | --- | --- |
| Role | decides *what* to do | decides *which element, now* |
| Calls per task | 1 `browse` call, plus verification | one per step |
| Output | plans, goal