shipwithjev

Catalog / Agents & browsers

0154GitHub

jev-mobile

Android control loops with Jev and Mobile MCP.

Friedjof/jev-mobileREADME ↗
# jev-mobile

[](https://www.python.org/)
[](LICENSE)
[](#project-status)

An autonomous, durable Android sub-agent with [TypeSafe Jev](https://typesafe.ai/) as its System-One decision provider.

`jev-mobile` accepts a high-level task, persists it in SQLite, and lets one durable worker execute **observe → normalize → decide → mutate → verify** against a USB-connected Android device. Jev receives concise semantics and technically valid actions; it never generates coordinates, MCP calls, or arbitrary code.

> **Safety boundary.** Durable Core V1 has been hardware-validated for normal notes/checklists, text input, crash recovery, persistence verification and foreign-editor protection. It deliberately stops rather than clearing unrelated application state. Payments, account changes and other sensitive operations remain out of scope without explicit policy/approval work.

## Why this exists

Traditional mobile-agent stacks repeatedly involve a large model in every UI step:

```text
LLM → mobile tool → LLM → mobile tool → LLM
```

The high-frequency loop remains local and structured:

```text
High-level goal
       │
       ▼
┌────────────────────────────────────────────────────┐
│ jev-mobile                                         │
│ durable worker: observe → normalize → requirements │
│ → valid actions → Jev → journal → verify           │
└────────────────────────────────────────────────────┘
       │
       ├── Portal ADB / USB Android runtime
       └── Escalation for uncertainty or risk
```

For example, Jev sees only this decision problem:

```text
Task: Create a note titled Shopping

Valid actions:
  A1  Create entity
  A2  Set title in title field
  A3  Verify persisted result

Jev → A1
```

The worker maps `A1` to the backend through the DeviceAdapter. Invalid actio

Also filed under Agents & browsers

  1. 0226

    Flight search with Browser Use★

    Breaking: Browser Use + Jev = Ultrafast ⚡ Findings flights took 7s and cost only $0.0039 🤯 > new action space every step > DOM state space > small LLM fallback to type (this video is at 1x speed btw) Built a tiny open source browser agent. try it below ↓

    @gregpr07 · Agents & browsers · ~$0.004 · ~7 s

  2. 0619

    jevmem: automatic project memory for Claude Code

    After every Claude Code message, Jev decides in ~0.3 s whether it holds a decision, rule or bug worth keeping, and jevmem saves it as one line in JEVMEM.md.

    @jetwaniavinash · Agents & browsers · ~0.3 s

  3. 0618

    Playwright + Jev: tests in plain language

    Write Playwright steps like "add the most expensive item to the cart". Jev finds the right buttons and fields, fills forms and checks the result.

    Andrey Popov · Agents & browsers

  4. 0617

    toolgate: a tool-call firewall for agents

    A Claude Code and MCP hook where Jev answers seven yes/no risk questions per tool call to allow, ask or deny. Usage and benchmark numbers are in the repo.

    Jaz · Agents & browsers