Skip to content
Documentation

Documentation

kadokit is a UI kit for building user interfaces on embedded devices. At its heart is a domain-specific language: you describe your UI in .ui.kdl files, which are declarative documents based on KDL. The runtime builds them into native widgets on the underlying embedded graphics stack (LVGL), with reactive subscriptions wired up automatically.

The kit covers the full workflow: on the desktop, the runtime loads .ui.kdl sources directly, so you iterate on the real UI without flashing anything. For embedded targets, a host compiler turns the same sources into compact .bui binaries for the device runtime. Runtime-only builds do not include the KDL parser or compiler.

A complete application can live in readable text files: state, screens, components, styles, animations, and logic.

app { width 480; height 320; title "Counter" }
expose "app"

state {
    count (int) 0
}

screen "home" {
    vbox {
        fill #true; padding 16; gap 8; align-items "center"
        label { text bind="'Count: ' + app.count" }
        button {
            label "Increment"
            on-click { set "count" expr="app.count + 1" }
        }
    }
}

Sections