explainx.ai350K+ learn from us
TrendingAI News TodayPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

follow on google

Add explainx.ai as a preferred source

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

community

Join the community

learn

mind: share how you thinkpathways — start freeworkshopsbootcampscoursescompare Explainxcertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcpestacktoolsmdx readeragentsllmsdesignsdictionarypeopleagi trackerfelony benchranks

company

aboutvisionmissionteaminstructorsteach on explainxpartnershipscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

explainx.ai

On this page

  • TL;DR
  • Three design principles (from the README)
  • How the architecture fits together
  • Quick start (verified command paths)
  • Contract in one screen
  • What works and what does not (November 2026)
  • What developers are saying on Hacker News
  • How Exact compares to Electron and React Native paths
  • Risks and licensing notes
  • Toolchain and dependency pins (what agents must install)
  • Contract compiler affordances for agents
  • Example apps and templates in the monorepo
  • Performance claims and how to verify them
  • When to try Exact this week
  • Related reading on explainx.ai
← Back to blog

explainx / blog

Expo Exact: Agent-Native Cross-Platform UI With Contract

Expo, Developer Tools, AI Agents, Cross-Platform, Rust

Part of AI Tools and Apps

Expo Exact is a pre-1.0 runtime: Contract UI, TypeScript or Rust logic, native hosts without webviews, and scripts/agent.mjs to screenshot and test every platform from one shell.

Nov 11, 2026·9 min read·Yash Thakker
add explainx.ai
go deep
Expo Exact: Agent-Native Cross-Platform UI With Contract

Expo published Exact as a cross-platform runtime built for coding agents, and developers on Hacker News put it above 130 points on November 10, 2026. The repo gained more than 2,100 stars within days of creation. Exact asks you to write Contract for interface structure, TypeScript or Rust for data, and one scripts/agent.mjs driver to build, run, screenshot, and test the same app on web, macOS, iOS (Simulator or device), and Linux without embedding the UI in a webview on Apple platforms.

This is not another React Native release. It is Expo experimenting with agent-native developer experience: deterministic clocks, contract tests that do not fork per platform, and compiler diagnostics aimed at machines first.

TL;DR

table · 2 cols
QuestionAnswer
UI languageContract (declarative; no arbitrary code in view files)
LogicTypeScript (Hermes bytecode on native) or Rust
Web~20 KB runtime ES module, real DOM
Native hostsRust runner + Taffy CSS layout + AppKit/UIKit or Linux GPU painter
Agent API10 operations: tree, screenshot, tap, type, state, layout, logs, clock, prefer, perf
StatusPre-1.0, no stability promise
Stars (Nov 11)2,155+ on GitHub; HN thread id 50433541
Daily briefFrom Yash · 350K+ students taught

Catch up on AI

One AI story explained in plain English, plus one thing to try. Every day, free. Unsubscribe anytime.

Three design principles (from the README)

Expo documents Exact around agent native, speed, and write the web, ship the platform.

Agent native means the default customer is an autonomous coding agent, not only a human typing in an IDE. The README claims a predecessor agent API grew to eighty wire names; Exact intentionally keeps ten. Between operations nothing animates unless the agent advances a seekable clock (clock +60000, clock settle), which removes flaky sleep() in tests.

Speed targets include 100 ms cold start to first frame (p50), 100 ms dev reload after edits, and no app JavaScript before first pixel on native hosts because TypeScript compiles to Hermes bytecode at build time while the first frame comes from baked plan data.

Write the web, ship the platform means you author CSS vocabulary and layout, while controls, typography, motion, and accessibility come from each platform unless you override them. On layout disputes, Chrome is the parity oracle for native hosts.

For background on Expo's agent tooling elsewhere in the stack, see Expo Skills for Claude Code and Codex and Addy Osmani's agent skills production pack.

How the architecture fits together

Exact splits responsibilities the way a browser does, but compiles ahead of time:

table · 2 cols
PieceRole
contract/Four-pass compiler: syntax, types, analysis, lowering to a plan
runner/VM executing the plan: keyed components, events, seekable timers
kernel/Columnar node arena + patched Taffy for CSS layout
host/webDOM glue (~20 KB runtime module)
host/appleAppKit/UIKit via static library C ABI
host/linuxDRM/KMS or offscreen GPU painting

Data crosses a single seam: TypeScript on Hermes (native) or browser JS (web), Rust native modules or Wasm on iOS and web, with grants gating network, files, SQLite, and secrets. Optional GPU, Markdown, and SQLite pieces load as separate artifacts so unused features do not inflate core builds.

Rust toolchain and Contract compile path for Expo Exact native hosts and web DOM deliveryRust toolchain and Contract compile path for Expo Exact native hosts and web DOM delivery

Quick start (verified command paths)

The README documents macOS on Apple Silicon; Linux supports web and Linux host loops.

  1. git clone https://github.com/expo/exact.git
  2. bun scripts/exact.mjs setup once (Rust toolchains, pinned Hermes bundles, Binaryen, lockfile crates)
  3. Web demo: bun host/web/dev.mjs serves Caltrain at http://127.0.0.1:8765/
  4. Agent drive: bun scripts/agent.mjs web tree "tap change-station" "type station-search Palo" state "screenshot out.png"
  5. New app: bun scripts/exact.mjs new ../hello then bun exact.mjs web

First native builds can take 10–15 minutes on a laptop; incremental builds drop to 1–2 minutes. The README records a 57-minute end-to-end agent run (October 4, 2026) that passed tests on web, macOS, and iOS Simulator for a to-do app, with ~25 minutes of that in first macOS and iOS compiles.

Contract in one screen

Contract describes what renders and which mutations exist; it does not fetch or execute arbitrary code. Data sources answer network and persistence questions under capability grants.

The README ships a complete to-do example: keyed list state, app.ts data handlers, and app.test.contract exercising add, check, and delete flows. That trio is the mental model: view file, logic file, agent test file.

Compared with Slint, which HN commenter ogoffart noted shares Rust plus declarative DSL DNA, Exact optimizes for web-speed iteration and agent clocks, not multi-year widget maturity.

What works and what does not (November 2026)

Works (per README): web, macOS, iOS Simulator or device via Xcode 27.1+, Linux console or headless builds, parallel agent testing, Hermes offline installs via Ibex bundles, feedback diary opt-in to Expo.

Gaps (per README and HN): Windows and Android hosts are roadmap items; no releases tag yet; no backwards compatibility promise; documentation tone is explicitly agent-first, which frustrated some human readers on HN.

Agent-driven UI verification workflow for Expo Exact Contract test filesAgent-driven UI verification workflow for Expo Exact Contract test files

What developers are saying on Hacker News

The thread at HN item 50433541 mixed excitement with skepticism:

  • doodlesdev (50434172) called Exact "absolutely huge" if Expo proves agent-driven native UI, but warned of gritty layout and interactivity details ahead.
  • henry-hong (50438064) praised agents that look at screenshots across platforms; Exact's driver is built for that loop.
  • ogoffart (50436561) compared the design to Slint, noting Slint's maturity versus Exact's agent-first tooling.
  • jdthedisciple (50436854) argued cross-platform claims ring hollow without Windows, a recurring theme when enterprise buyers evaluate agent UI stacks.
  • mrbombastic (50434617) joked about "agent-first DX" pushing humans aside; Exact's README embraces that positioning openly.

Treat star counts and HN points as attention, not maturity proofs.

How Exact compares to Electron and React Native paths

table · 4 cols
ApproachUI fidelityAgent testabilityMaturity (Nov 2026)
Electron / web shellWeb tech everywherePlaywright-style, one DOMProduction proven
React Native + ExpoNative components via bridgeDetox, Maestro, customProduction proven
ExactNative draw per platform, shared ContractBuilt-in agent.mjs + contract testsPre-alpha experiment

Exact bets that agents close the last mile on three native hosts while humans keep CSS mental models. If you only ship a marketing site, that is overkill. If you want agents to prove multi-host widgets nightly, the integrated driver is the differentiator.

Risks and licensing notes

  • Churn: rules/DEFERRED.md states features may disappear without migration paths.
  • Rebuild lineage: README calls this repo exact2, a rebuild of earlier Exact work; research imports under llp/research/ are not authoritative specs.
  • Feedback telemetry: bun exact.mjs feedback can send friction notes to Expo's worker endpoint when projects opt in; EXACT_FEEDBACK=0 disables sends.
  • Agent hype backlash: Teams allergic to "Claude-speak" README prose should still read docs/start-here.md, which the repo marks as the single required agent onboarding doc.

Toolchain and dependency pins (what agents must install)

The README is explicit about versions because agent-driven setups fail silently on drift:

table · 2 cols
ToolRequirement
Rustrust-toolchain.toml stable pin; first cargo run bootstraps it
Bun1.4.2 per package.json; README documents isolated ~/.bun-1.4.2 install
ChromeHeadless driver for web agent ops; override with CHROME env
Xcode27.1+ for Apple hosts; exact setup --check validates
HermesIbex 260318099.0.4 bundles for host and iOS targets via installer crate

bun scripts/exact.mjs setup also pulls wasm-bindgen, Binaryen, nightly Rust components for game web bakes, and offline crate caches for Exact and bundled game SDK locks. Agents should treat a failed setup as blocking before writing Contract: partial installs produce confusing compiler errors that burn context windows.

Hermes installs land under ~/.cargo/hermes-lean-sys/ with attestation verification. The README stresses ordinary builds stay offline once bundles exist, important for air-gapped CI trying to replicate agent success stories.

Contract compiler affordances for agents

Humans benefit from the same JSON diagnostics agents consume:

  • contract build --json returns stable error ids and source ranges suitable for fix loops.
  • contract symbols supports navigation queries so agents do not grep blindly through generated artifacts.
  • Development source maps tie on-screen nodes back to Contract source lines.

Those interfaces mirror why Janestreet's agent skills and Vercel's agent-browser CLI emphasize machine-readable errors: without them, autonomous retries oscillate.

Example apps and templates in the monorepo

Beyond Caltrain, the repository ships runnable references agents can copy:

  • examples/calendar and other apps/ targets for host integration patterns.
  • exact-templates marketing mentions Softwear, a generated apparel storefront demo (not a real merchant).
  • Markdown viewer tooling via exact run markdown README.md for dogfooding docs inside Exact hosts.

When evaluating Exact, start from exact new scaffolding (Contract + app.ts + app.test.contract) rather than porting a mature React Native screen one-to-one. The runtime assumes you accept Contract's refusal-oriented semantics: invalid writes should fail loudly with remediation text, a style closer to Rust than to permissive JSX.

Performance claims and how to verify them

README cites internal LLP notes for web benchmarks (for example Conduit vs React SSR hydration time and bundle size comparisons). Treat them as vendor engineering notes, not independent benchmarks, until Expo publishes reproducible scripts.

Your team can still partially verify locally:

  1. Run bun host/web/dev.mjs and measure reload time after a one-line Contract edit (README reports ~99 ms on a fresh app).
  2. Capture bun scripts/agent.mjs web perf outputs after setup (operation exists in the ten-op API).
  3. Compare cold-start video captures across hosts with the agent screenshot film syntax documented in Quick start.

Document hardware whenever you post results; Mac Studio versus laptop thermals change compile timelines dramatically.

When to try Exact this week

table · 2 cols
You should experiment if…Wait if…
You run agents that break UI on iOS vs webYou need Windows or Android today
You want contract tests without per-platform forksYou require stable semver APIs
You already use Bun + Rust + Xcode in CIYou cannot absorb 15-minute first native builds

Pair a spike with loop engineering for coding agents so agent retries do not burn unbounded compile minutes.

Related reading on explainx.ai

  • Expo Skills install guide
  • Addy Osmani's agent skills pack
  • Janestreet Socratic tutor skills
  • DESIGN.md templates for agent UI
  • AI usage and fragile codebases on HN
  • Vercel agent-browser for agent-driven UI checks
  • Claude Fable coding ownership guide
  • Microsoft Lazarus agent backdoor research

Repository layout, star count, and platform support reflect the expo/exact README as read on November 11, 2026.

Spotted something out of date? Let us know.
Daily briefFrom Yash · 350K+ students taught

Catch up on AI

One AI story explained in plain English, plus one thing to try. Every day, free. Unsubscribe anytime.

  • ✓ Free
  • ✓ One email a day, no spam
  • ✓ Unsubscribe anytime
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

View Yash Thakker in People in AI →

Related posts

Nov 11, 2026

Herdr: The Rust Terminal Runtime GitHub Trending for Coding Agents

Herdr gained about 2,196 GitHub stars in one week and shows roughly 50,100 stars total. It is a Rust terminal multiplexer aimed at Claude Code, Codex, Cursor, and other coding agents — with detach, multi-machine panes, working or blocked status, and an agent socket API.

Nov 8, 2026

LLM Reverse Engineering and OSS Licenses: What Courts Actually Say

Developers on Hacker News asked a sharp question: if courts outlaw LLM-assisted reverse engineering of binaries, could the same logic expose labs that trained on open-source code? The short answer is that no nationwide ban exists today, but the parallel is not symmetric—and the real risk lives in licenses, trade secrets, and deceptive extraction.

Nov 6, 2026

Claude Code Remote Sessions on Amazon Bedrock AgentCore: AWS Sample With Security Controls

On November 6, 2026 AWS published a sample that runs Claude Code as a remote coding agent on Amazon Bedrock AgentCore. Each task gets its own microVM in a private VPC, a guardrail screens the prompt, and the agent opens a pull request that a person must merge. Here is the design, the controls, and the gaps AWS admits to.