Build a native desktop app using a declarative markup file instead of a browser-based UI
Ship a small, dependency-free desktop binary with no bundled browser engine
Let an AI coding agent inspect and drive a running desktop app through its automation interface
| vercel-labs/native | fairyglade/ly | roc-lang/roc | |
|---|---|---|---|
| Stars | 6,803 | 7,284 | 5,652 |
| Language | Zig | Zig | Zig |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 4/5 | 3/5 | 4/5 |
| Audience | developer | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
Needs the Native SDK CLI installed globally via npm before scaffolding an app.
Native SDK is a toolkit for building desktop applications that render directly to the operating system, without a browser or web view running inside the app. The idea is that you keep the kind of expressive, declarative way of writing interfaces that web developers are used to, but the final app is compiled down to native code with its own rendering engine drawing every pixel, so there is no browser engine or JavaScript runtime bundled into the shipped program. You install a CLI with npm, then run a command to scaffold a new app. A generated app is three files: a markup view file written in a format called .native, a TypeScript file holding the app's state and update logic, and a manifest. There is also a template for writing the core logic in Zig instead of TypeScript, if you prefer that. As you edit the markup file while the app is running in development mode, the open window updates immediately without losing its current state. The SDK ships with a set of ready made interface pieces such as buttons, tabs, text fields, dialogs, charts, and virtualized lists, styled consistently out of the box but fully restylable through named design tokens for color, corner radius, and typography. State in an app built this way flows in one direction: user actions create messages, messages update the app's state, and that state is what gets rendered, so the flow of what changed and why is easy to trace. This same predictability lets a built in tool record a session of user interactions and replay it later to check that the app behaves the same way. The README also describes built in support for AI coding agents: every app exposes an automation interface that lets an agent read the current state of the interface, interact with it, and take screenshots, plus a set of CLI provided skills for that purpose. macOS is the most fully supported platform, with Linux and Windows also supported for real use, while iOS and Android support is described as still experimental. The full README is longer than what was shown.
A toolkit for building native desktop apps with a web-like declarative UI but no browser or JavaScript runtime inside the final app.
Mainly Zig. The stack also includes Zig, TypeScript, CLI.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.