gitwtfhub

wtf is native?

vercel-labs/native — explained in plain English

Analysis updated 2026-05-18

6,803ZigAudience · developerComplexity · 4/5Setup · moderate

TL;DR

A toolkit for building native desktop apps with a web-like declarative UI but no browser or JavaScript runtime inside the final app.

Mindmap

mindmap
  root((Native SDK))
    What it does
      Declarative desktop UI
      Native rendering engine
      No browser runtime
    Tech stack
      Zig core
      TypeScript logic
      CLI tooling
    Use cases
      Desktop apps
      Small native binaries
      AI agent automation
    Audience
      Developers
      Desktop app builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a native desktop app using a declarative markup file instead of a browser-based UI

REASON 2

Ship a small, dependency-free desktop binary with no bundled browser engine

REASON 3

Let an AI coding agent inspect and drive a running desktop app through its automation interface

What's in the stack?

ZigTypeScriptCLI

How it stacks up

vercel-labs/nativefairyglade/lyroc-lang/roc
Stars6,8037,2845,652
LanguageZigZigZig
Setup difficultymoderatemoderatehard
Complexity4/53/54/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Needs the Native SDK CLI installed globally via npm before scaffolding an app.

Wtf does this do

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.

Yoink these prompts

Prompt 1
Help me scaffold a new Native SDK app and explain the purpose of each of its three core files
Prompt 2
Show me how to write the update function in core.ts for a Native SDK app with a counter
Prompt 3
Walk me through switching a Native SDK app's core logic from TypeScript to Zig
Prompt 4
Explain how Native SDK's design tokens let me restyle an app without changing its markup

Frequently asked questions

wtf is native?

A toolkit for building native desktop apps with a web-like declarative UI but no browser or JavaScript runtime inside the final app.

What language is native written in?

Mainly Zig. The stack also includes Zig, TypeScript, CLI.

How hard is native to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is native for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.