Compiler first
Guarantees move from runtime to build time. Less shipped abstraction, more known-good output.
Vesk is a compiler-first framework. Write one modern component model, and its compiler transforms your code into optimized web and native Kotlin applications — never a wrapped WebView.
01 write → understand → compile → ship
A .vsk component is parsed, checked for semantics the target can honour, then lowered into platform code. Same source, two honest outputs.
component About {
<div class="max-w-3xl mx-auto px-4 py-14">
<h1 class="text-3xl font-semibold text-ink">About Vesk</h1>
<p class="text-muted">Some text here.</p>
</div>
}
<div class="max-w-3xl mx-auto px-4 py-14"><h1 class="text-3xl font-semibold text-ink">About Vesk</h1><p class="text-muted">Some text here.</p></div>
If Vesk cannot preserve the semantics of your component on a target, the build fails — it never silently ships different behaviour.
02 the philosophy
Guarantees move from runtime to build time. Less shipped abstraction, more known-good output.
A single component and styling model across targets — no per-platform rewrites of the same screen.
Vesk Native compiles toward native Kotlin rather than wrapping a web app inside a WebView.
Modern tooling, fast feedback, HMR, Tailwind utilities, icons and motion primitives you already know.
The compiler produces optimized platform output instead of carrying a runtime abstraction along.
When semantics can't be preserved on a target, the compiler fails the build. Silence is the bug.
03 vesk native
Write the same Vesk components you write for the web. Vesk Native compiles them toward Kotlin application targets — real native views, real platform APIs, Material 3 defaults.
Entries
04 compiler architecture
Four stages, no hidden runtime. Select a stage to see what happens to your code inside it.
The AST becomes a flat intermediate representation — statement-mode control flow is dispatched, blocks are validated, <style> text is extracted to the component.
05 web + native
Not "write once, run anywhere". Vesk preserves the semantics of your source application and emits output that is appropriate for each platform it targets.
DOM · CSS · ESM
Compose · Material 3
06 features
Build-time guarantees over runtime cost.
Markup, styling and logic in one unit.
Typed logic and typed component contracts.
The same utility model on web and native.
Compile toward native Kotlin targets.
Motion-style transitions, compiled.
Sub-second feedback while you build.
Use the ecosystem you already depend on.
Unsupported semantics fail the build.
Optimized output per platform target.
CLI, diagnostics and build inspection.
Platform capabilities without escape hatches.
07 developer experience
One command to start. Compiler diagnostics in the terminal, hot module replacement in the browser, and the same project compiling toward native without a second toolchain.
08 documentation
Concepts first, then reference. Every compiler behaviour, diagnostic and native capability is written down — not inferred from example projects.
Read the Documentation →ecosystem · built on what you know
Vesk is designed to work with technologies developers already understand rather than forcing an entirely foreign ecosystem.
09 showcase
Operations dashboard for a deployment platform, compiled to the web target.
Offline-first field notes app compiled toward native Kotlin with Material 3.
Documentation site sharing the same component library as its native companion.
10 roadmap
Build for the web. Build for native. Let Vesk handle the translation.