
Today’s issue: The John C. Bogle of AI, my 7th grade English teacher gets vindicated, and the ghost that (probably) lives inside your refrigerator.
Welcome to #537.


When a new UI framework comes along and distracts me from my hobbies
Welp it finally happened… and no I’m not referring to my case of early-onset birdwatching. Charlie Cheever finally did the thing “thought leaders” have been talking about for years and made an agent-first UI framework called Exact.
I’m skeptical when developers tout frameworks “optimized for agents,” but Charlie (co-founder of Expo) is a legend, and his demo was genuinely impressive.
So what exactly is Exact?
It’s an agent-native framework written in Rust for building cross-platform apps “without compromise.” Like React Native, it targets web and mobile—but also macOS, Windows, Linux, and even terminals.
Here’s how it works:
Contract: You author UI in a new “constrained” language called Contract built to avoid foot guns like useEffect that cause performance issues. It looks like an unholy union between Python and Elm, but your agent is gonna be writing it so I guess that doesn’t really matter.
Rust and (or) TypeScript: Application logic lives in TypeScript or Rust. You can adhere to the doctrine of “pure native” if that’s part of your religion, but Charlie says TypeScript is more practical for business logic.
Compact Plans: Contract compiles your interface into a compact plan, which on the web becomes a ~20 KB ESM runtime that drives the real DOM. Native apps execute the same plan, with a Rust layout kernel computing every box using CSS rules. Platforms draw with AppKit, UIKit, or a GPU painter: no webview, no JavaScript bridge in the UI, and no app JavaScript before the first pixel.
Bottom Line: It also works with Expo’s services. Is Exact the framework that finally dethrones React (Native), or have we just given our agents another framework to argue about?


Me swapping out my LLM for a proper decision model
Right now, “programming” your LLM means typing “ONLY return valid JSON” in all caps and hoping it listens.
Blatent Struct lets you define the decisions it can make in JSON Schema, pass in your app’s context, and it only returns results that satisfy your schema and policies.
Every branch has required fields. A refund needs a transaction ID and an amount. An escalation needs a reason and a team.
OPA policies run before anything comes back, so an agent without refund permission can’t hallucinate its way into issuing one.
It responds in 145 ms at p50 and costs $0.042 per million input tokens, so you can put it in the hot path.
Try Struct now – for a limited time they’re giving away 100 million tokens to each new user so you can program some actual rules for your models.

Read how they taught Claude, Cursor, and Copilot to build agentic workflows without hallucinating, so you can do it too.
class Singleton {
constructor() {
if (this.instance) {
return this.instance;
}
this.value = Math.random();
this.instance = this;
return this;
}
getValue() {
return this.value;
}
}

Jacob Ebey wrote a blog about Async React and Progressive Server Actions. Andrew and Seb can rest easy now knowing at least one person thought their life’s work was worth it.
Chrome 153 has a native MP4 recorder that lets you create 60–120 fps screen captures which perf legend Paul Irish turned into a tool you can use today.
Instead of sifting through a bunch of boring bullets on GitHub, join Sentry’s changelog livestream where they cover everything in their recent releases as well as a few things you might have missed. [sponsored]
We’re pouring one out for Val Town, which announced today that it is shutting down. The feeling of writing and running server side JS for the first time is a high I’m still chasing.
Philip Walton wrote about Modern Web Guidance, an agent skill that teaches your cl*nker the ways of the (modern) web.
Mitchell Hashimoto released libghostty 1.0, the portable terminal emulator that powers terminals in JetBrains, Neovim, and all LG refrigerators as of late 2026.
Mike from Convex made a video about building his own open-source Agentic Development Environment. It’s called Threadbare and has some unique features like getting to your next decision as fast as possible, and syncing all threads across your Mac, browser, and phone with Convex. It’s already getting a lot of love. [sponsored]
XState v6 is now officially in beta, or for the degenerates out there, ready to use in prod.
Vercel Labs added support for generating Slack, Discord, and Teams cards in the latest release of json-render.
The CTO of Brex said that “Greptile is the only AI reviewer that doesn’t annoy the s**t out of me.” Try it out for free – and see if it lives up to that high praise. [sponsored]
Zonder Labs wrote a blog post breaking down why AI slop is so frustrating to read. I guess AI should have spent more time diagramming sentences in Mrs. Voelkel’s 7th grade English class.
Some are calling Adam Holter the John C. Bogle of AI for his work on indexing model costs relative to their capabilities.
this.instance is an instance property instead of a static property, causing it to be undefined every time a new instance is created, failing to enforce the singleton pattern.
To fix this, we should use a static property instead:
class Singleton {
constructor() {
if (Singleton.instance) {
return Singleton.instance;
}
this.value = Math.random();
Singleton.instance = this;
return this;
}
getValue() {
return this.value;
}
}