· product · vesk

Build once. Compile everywhere.

Vesk is for teams who ship content-heavy, form-heavy, list-heavy apps — docs, dashboards, admin, field tools — and want those apps fast, typed, and shareable to native without a rewrite.

01 · sellable in 30s

No VDOM tax

Next.js ships 90 kB+ React before your code. Astro ships 0 kB but gives you no app primitives. Vesk ships ~2 kB router + per-cell updates — static pages ship 0 B.

→ 48 kB Aurora Console vs ~180 kB Next equivalent (measured, same UI).

02 · sellable in 60s

One language, two targets

SvelteKit and Remix are web-only. Vesk's IR emits Kotlin + Compose. Share validation, data, and design tokens.

→ Fieldbook: same form logic on web + Android, offline by default.

03 · sellable in 90s

Compiler guarantees

Qwik resumes; Vesk proves at build. Unsupported semantics, missing keys, invalid islands — build fails. Silence is the bug.

→ vesk typecheck is tsc-in-.vsk; CI catches what runtime tests miss.

Why teams switch — in their words

Docs team, 8 → Vesk · -73% JS

“We cut our docs JS by 73% and got native help screens for free. Same Markdown pipeline, two outputs.”

Dashboard, Next → Vesk · O(1) vs O(n)

“Per-cell updates killed our list jank. 1,200 rows, one DOM write, not 1,200 VDOM diffs.”

Agency, Astro → Vesk · app in a box

“Astro was fast but not an app. We kept islands and gained routing, data, and forms without gluing.”

What you keep

  • TypeScript — every TS feature in .vsk
  • Tailwind v4 — same class, web + native
  • npm — any package, no adapter
  • lucide + Motion primitives you know

No new language to learn beyond component and &[x]=track .

What you lose (on purpose)

  • VDOM diff — replaced by per-cell effects
  • useEffect soup — replaced by derived/effect graph
  • Client:all — replaced by zero-JS + islands
  • Separate native codebase

Fewer concepts, more guarantees.