Now in Beta · Web playground is live

Native UIs at the density of Tailwind, the quality of Flutter.

Vel is a declarative UI language with a reactive core, a from-scratch GPU renderer, and first-class C/C++ interop. Write 2.33× fewer tokens than React — ship a real native binary.

$ curl -fsSL https://vel.kadarla.com/install.sh | bash
users.vel vel
 use "backend/users.h"

#UserList
  @users: std::vector<User> = await fetchUsers()
  @filter = ""

  V g=md p=lg
    In placeholder="Search…" value=$filter
    if $users.size() &gt; 0
      List of=$users as=u
        Card -> click => open(u.id)
          H g=sm
            Avatar src=$u.avatar
            V
              T $u.name font=bold
              T $u.email fg=fgMuted
    else
      Spinner 
velc · compiles to ↓
main.cpp C++
 #include "vel/App.h"
#include "users.vel.h"

int main() {
  vel::App app(900, 640, "Demo");
  app.setRoot(std::make_unique<UserList>());
  return app.run();
} 
2.33×
fewer tokens than React + Tailwind
vel bench token
~93×
faster warm relayout (10k rows)
vel bench layout
~1 ms
per-frame CPU, p50 (showcase)
VEL_PERF=60
0
CPU when idle — damage-tracked
glfwWaitEvents

Three strictly-layered tiers

Registry → Framework → Engine

One-way dependencies, never the reverse. Each tier is independently useful — and the engine, Lume, stands on its own.

Why teams pick Vel

Compiles to native

velc emits idiomatic C++ that links into libvel. No VM, no JS bridge, no Electron. Just a native binary.

🎨

Beautiful by default

Every primitive renders well with zero config. Theme tokens (bg2, accent, md) are the language of styling.

🔁

Reactive substrate

Signals, Computed and AsyncSignal drive rebuilds. State, scroll, focus and drag survive hot reload.

🧩

First-class C/C++ interop

use "header.h" and call your backend directly. The framework knows nothing about your data layer.

🌐

One source, everywhere

macOS, Windows and the browser render identically — native WebGPU via WebAssembly.

Accessible on the web

A live DOM mirror gives screen readers, keyboard nav, IME and focus rings. Honors reduced-motion.

Build a real app today.

Install, scaffold, and see a native window in under 15 minutes — or edit Vel live in your browser right now.

$ curl -fsSL https://vel.kadarla.com/install.sh | bash