Llux is a tool for independent creators.
It turns your interface ideas into native software that runs anywhere—without platform lock-in, hidden dependencies, or surprises.
You describe the intent. Llux compiles it to a binary. You own it.
Every interactive system—whether a smart-home dashboard, a CNC machine HMI, or a museum installation—follows the same pattern: Surface ↔ Transit ↔ Engine.
Llux compiles the Surface and the Transit rules. You bring the Engine.
No platform lock-in. No hidden dependencies. No surprises.
Here is the active language direction. You write the contract…
# Contract (app.llux)
app state {
count: int = 0
}
action Increment(amount: int = 1) {
app.count += amount
}
…and the surface in Markdown:
# Surface (app.llux.md)
::: page
::: flex gap-4
::: Label { @text <- "Count: " + app.count }
::: Slider { @value <-> app.count min=0 max=100 }
::: Button { @press -> app.increment label="+1" }
:::
:::
Key:
<- = inbound (state → UI)<-> = sync (state ↔ UI)-> = outbound (UI → state)Llux is built for independent creators, UI engineers, native developers, and educators who want to build software that runs anywhere without being tied to a single platform. Whether you use SwiftUI, Qt, React, or plain C—Llux gives you a clean path to native binaries.
Pre-release early-to-mid alpha. The core toolchain exposes a llux CLI and a C-based compiler with the zero-dependency dump UI engine. Translators for SwiftUI, Qt/QML, HTML, and React are planned.
.exe, .app, Linux ELF)..llux for state/logic, .llux.md for the layout. Llux compiles them into one app.dump is the built-in renderer — zero dependencies, no browser, no Electron.guide.how/quickstart.mdreference.what/language.mdphilosophy.why/index.mdroadmap.when/index.mdcommunity.who/contributing.mdMIT for the implementation. Separate terms for documentation and specifications. See LICENCE.md.