I want to share a preview of something I've been working on called Exact. It's a new Agent Native app framework written in Rust. It's extremely fast and tries to let you build exactly the experience you want with no compromises.
174
295
204
2,800
502,587
On the web, Exact is faster than any other fully featured web framework that I've found. Exact's performance is like a static website but with the full dynamic power of a framework like React.
3
3
172
38,993
Here's web performance on a Pokédex benchmark proposed by Nolan Lawson from Socket. nolanlawson.com/2026/10/28/t… Neck and neck with Astro and meaningfully ahead of Next.js and SvelteKit.
4
1
100
24,827
On the authoring, despite being a new framework that is not in the weights of any AI model, Exact already does surprisingly well -- producing a correct result faster than Next.js for about the same cost. A static site in Astro is still cheaper and faster but I think it's within striking distance if AI models learn Exact and it makes it into the weights.
1
1
77
22,821
The way you author UI in Exact is in a new language called Contract. Contract is designed from the ground up for AI agents.
1
2
2
77
26,653
Contract looks like Python -- indentation has meaning, fairly rigid about formatting, fairly sparse. And it is explicit and stron gly typed and pulls complexity forward into authoring like Rust. Your Contract code describes both your UI like you would in React an d also your state and data flow, the way you would with Redux or Zustand or TanStack Query.
4
4
7
123
138,977
Contract is a constrained language so it can be fully analyzed. A lot of the footguns that cause performance problems or make anal ysis hard with JS frameworks just don't exist in Contract -- you can't write recursive loops, useEffects, or arbitrary TypeScript/JavaScript. But you can efficiently express almost every common fixture of real UIs.
3
1
1
64
18,217
Since Contract is new, agents will just try guessing at its rules and syntax. Instead of filling up every context window by making your agent read a long manual, the Contract compiler returns useful error messages that teach your agent on-demand how to do what i t's trying to do. Targeted error messages are one of the cheapest ways to make an agen t efficiently read only the docs it needs.
6
1
2
95
17,181
In Exact, your agent has control over the clock which makes testing and prodding faster and easier. Instead of sleeping and hoping an animation has finished, the agent advances the clock then reads the result, so its screenshots and state reads aren't racing tim ers or transitions. This reduces the possibility space of things an agent needs to check on as it tries to figure out why something is happening or isn't. There are a bunch of things like this that make it easier for agents to build and debug.
2
2
2
79
15,179
Exact also gives agents the ability to inspect the state of your app and complete the feedback loop in a variety of ways -- capturing screenshots and videos, inspecting the abstract state of the UI tree, asking for layout properties, etc.
1
2
45
14,656
Because it knows, at compile time, everything about how your data is laid out and related, Contract can be surgical and efficient with updates. There is no virtual DOM or re-rendering or separate hydration. This is why Exact can deliver a static website as fast as Astro but then update it dynamically like React.
2
1
49
14,418
When you change Contract code, your app can update live in a few ms. It can be sent over the air for OTA updates. Through these properties of Contract, Exact gives you the speed of a Rust-based native solution with the iteration speed and dynamism of a web app.
3
49
13,982
For app logic that is deeper than UI in Exact, you can write either Rust or TypeScript. If you work at Shopify or Linear where th ere is a kind of religion around being pure native, you can write your whole app in Rust and not even ship a JS VM and everything is pure native. For most real apps, I've found it's actually more practical to write most business logic in TS.
1
53
13,681
You can also mix and match. Ex. You could write everything that you measure to be a hotspot in Rust and everything else in TS. Even if your first screen gets its data from TypeScript, Exact can draw the first frame without waiting for the JS VM.
1
39
13,335
I really do think it makes sense to write larger apps in TypeScript because your ability -- and your agents' ability -- to work o n and iterate on them pays off. I have a theory that this is one of the main reasons that the Claude Code CLI (TS) is a lot more polished and feels much better than the Codex CLI (Rust) right now. Either way, in Exact, you can always choose. Both Rust and TypeScript can run either on the main thread or another thread and you have control over that too.
1
48
13,197
Contract changes are mostly network bound. They take 10-20ms and generally preserve state. TypeScript changes happen in < 100ms typically. Rust updates get compiled to wasm and can be hot reloaded. On some native platforms, new dynamic libraries can be swapped in; where that's not supported, you can just run the wasm version of the new code until you rebuild.
1
2
2
67
14,030
Of course, you can also write code in Swift or Obj-C or Kotlin or HTML or other languages native to your target platform. Like pretty much every other framework, you can have escape hatches in Exact. You can carve out a rectangular view and take it over with you r own native code. But Exact gives you another level of control called "Access Hatches". Whenever the framework emits some kind of node on the target platform, say a UIKit UIView, you have access to it if you want, so you can write Swift code to attach a property or fill in a sync native callback, etc. One of the key goals for Exact is that you always feel like you have the precise control to get exactly the result that you want.
1
1
41
12,900
Here's an example -- the official Liquid Glass example app that Apple provides has a bug when you long-press a tile. The expanding tile gets clipped and flashes white when you release. In the Exact version, you have the control over each native element to be able to implement the correct behavior easily. It's a small detail but I built this framework for people who care about getting these kinds of details right (@JI was the one who noticed this).
4
3
1
83
14,103
There are two main things people care about with native performance: (1) smoothness/fps and (2) startup time. re: Smoothness. Here's Exact vs SwiftUI scrolling through the same rich content feed. You can see Exact holds 120fps and drops zero frames while SwiftUI drops down into the 30-50fps range and is extremely late on many frames.
2
1
2
73
13,950
It's close enough that it's hard to tell the difference visually but Exact slightly outperforms idiomatic raw UIKit on fps. This is possible because Exact handles layout and view recycling in a way that is more optimized than most UIKit implementations. With enough work/tokens, you can achieve the same performance with UIKit. But with Exact, you just get it right out of the box.
3
2
2
70
26,355
One of the reasons Shopify rewrote their mobile apps from React Native into native was to improve performance metrics like startu p time. Here's the new, optimized, native Shopify Shop app compared to the same thing in Exact. The Exact version is talking to the same GraphQL API and fetching the same data. (Yes, I'm sure Shopify could make their Swift app as fast to startup with some time and tokens.)

Nov 9, 2026 · 12:09 PM UTC

32
50
36
693
271,739
RelevantRecentLikes
One part of why startup can be so fast is Contract. Because Contract is so explicit and analyzable, the build can bake your first screen's UI and any data it can compute ahead of time into the app, sort of the native equivalent of statically generated HTML. At launch, Rust draws that first frame without running any of your JavaScript. Data that needs the network fills in right after. It's als o because Exact is powerful but compact, so you don't usually need to load lots of other stuff to do most things you want to do.
1
3
1
100
21,131
Exact does layout in Rust using Taffy, which is based on CSS. This means the shape of authoring in Exact is roughly web-like which makes it easier for agents to author it since they are familiar with CSS. Styling also works this way.
1
60
18,958
Rust code can also measure text with the same line-breaking code Exact itself uses. That makes effects similar to @chenglou's Pretext examples possible.
1
1
77
17,071
Exact also has GPU support built in, since rich animations and drawn graphics are more and more a standard part of apps and websites. You can also put live UI inside a GPU surface and run it through a shader, similar to HTML-in-Canvas.
2
1
55
14,176
On iOS and macOS and the web, the platform provides familiar elements that users really love and want, and so it's important that Exact be able to use those. On Android, the platform is much more fragmented and on Windows and Linux, there really isn't much of a standard, so Exact takes over more of the drawing of pixels.
1
1
44
11,899
Exact implements its own renderer for drawing pixels on platforms like Linux and Windows called Ink. It's similar to GPUI or egui but works as a renderer under Exact's layout system and can include system native elements, etc. Ink, GPUI and egui perform about t he same for users. Ink starts a bit faster but uses more GPU and peak memory.
2
1
37
11,447
I originally thought desktop would be a lower priority than mobile and web just because there are fewer desktop apps but it felt so good to play with and fun to develop for, I've come to believe that we're going to see an explosion of native desktop apps built on frameworks like this one. Especially on Mac, I've found you can make something that feels much lighter and faster and tighter than an Electron app.
1
2
74
11,304
Exact also comes with an agent native game engine that lets you write Contract for app-like UI and the ability to change state programmatically and quickly. It targets Metal and Vulkan on native platforms and WebGPU on web.
3
4
1
76
10,536
You can also build TUIs with Exact. It's good at UIs with rectangular panes, etc.
2
72
9,790
Since we are fully in the agentic era of software now, Exact apps also expect to be used by agents and provide a variety of APIs and a11y metadata, etc. to facilitate that.
1
49
9,312
iOS is the most mature platform. Web is pretty good and macOS is pretty good. Android and Windows and Linux work but are less mat ure. One of the first people to test it migrated their iOS app same day because the metrics were compelling enough.
2
1
52
8,808
Still a work in progress but I think it's ready for others to try it out. Here's the repo: github.com/expo/exact
4
12
3
196
9,075
I started this as a solo project but have lately gotten a lot of help from @JI and additional contributions from @eiioth @kzzzf @DaehyeonMun @nater02 @sethwebster and Doug Lowder.
2
1
43
5,475
The Expo framework isn't going away. Expo the company will continue to support it. It is growing faster than it ever has before. It is getting better quickly as AI makes huge performance improvements to React Native and the Expo SDK and Expo Modules continue to improve. Exact will work with Expo's cloud se rvices for building, updating, observing, hosting your apps, etc.
2
1
59
4,983
This is a pre-alpha preview of Exact. Some things are definitely not complete and/or broken. I haven't decided what real release process will look like in the future yet. You're welcome and encouraged to report issues and request features and give feedback. Releasing with the MIT License so feel free to modify, fork, etc. however you like.
1
1
31
4,430
The most helpful thing you can do is probably to tell your agent to submit diaries of its experience building with Exact to the feedback endpoint. Detailed logs of agents' experience are gold for pinpointing what to fix and improve. Thanks for checking it out.
3
42
4,552
Okay. I’m interested now
1
1,033
about to rewrite my apps into native so my zero users can enjoy the speed bump
2
26
1,359
how do you fetch content so quickly? do you have a warm cache
7
1,587
🔥Cant wait to try this !!
730
This is the part I keep coming back to building a personal agent. My iOS client is native SwiftUI talking to the agent over an API — the phone holds no agent logic at all. The phone is the agent's face, not its brain. If the client is just a fast, native-feeling window onto an API, how it's produced matters less than how fast it starts and how it feels. For agents, the API contract is the real interface. 🤩
2
346
👀👀👀
14
1,142
@bot there is a new kid framework out there let’s learn about it
1
144
i like the left one a lot more
457
This seems a little bit misleading. Or the React Native one wasn't well architected.
604
@grok qual a diferenca do exact para o expo? Ainda possui a mesma facilidade de criar web -> mobile que o expo possui?
1
1
311
this is a bit intellectually dishonest though, right? “i make the same graphql requests as them” != “i do all of the exact same required things at startup”
1
171
Are you comparing with their react native or rust app ?
1
72
the new native one
61
The app was opened before recording
183