Skip the bullshit
// new: the |> operator. you're welcome.

VCWL is going to revolutionize web development.

The Vibe Coded Web Language compiles to WebAssembly, paints your website on a canvas like Flash never died, and ships with a package manager nobody asked for. Thought leaders are calling it "a language".

// it will not revolutionize shit. it's a joke project. it does compile, which is worse.

Read the docs
●●● ~/my-startup — zsh
$ vcwl new my-startup && cd my-startupcreated my-startup (series A pending)$ vcwl build lexing vibes ........................ ok type-checking feelings .............. ok warning[unused-fn]: function `business_model` is never used emitting WasmGC ..................... ok index.html app.wasm render.wasm vcwl.js✓ built dist/ — the web has been revolutionized* * it has not
● 0 errors● 0 warnings● 0 users● 0 dependencies (we wrote them all, badly)● no DOM was harmed
VCWL looks like Rust. It is not Rust. No borrow checker, no lifetimes, no unsafe, no crab.
// fig. 1

A whole app, and the 3D engine nobody needed.

src/main.vcwl
// a whole app. yes, really.
app "Startup" {}
component App {
state funding: Int = 0
column {
heading("Disrupting {funding}")
button("Pivot") {
style { corner: squircle }
on click { funding |> burn }
}
}
}

Drag it. It's WebGL with shadows. We wrote a 3D engine for a joke and we need help.

✓ solves
  • Having too much free time
  • Not knowing what a WasmGC struct is
  • Your website being selectable, searchable and cheap to render
  • The crushing silence of an empty changelog
✗ causes
  • All of the above, but in production
  • Explaining to your manager why the text is drawn on a canvas
  • An irrational urge to put grain on everything
  • Arguments about whether |> is a language feature or a lifestyle
// interactive. written in vcwl. calls crypto through @web.

The Hot Take Generator™

“Press the button. Receive wisdom. Regret nothing.”

vibe score0/100 · unmeasured

What people are saying

All testimonials are made up. That's what makes them authentic in this industry.

“He says it compiles. I said that's nice sweetie. I don't know what a compile is.”

My momProud, confused

“Rewrote our checkout in VCWL during my commute. Now nobody can check out. Including the bugs.”

A guy on the 7:42 trainUnsolicited

“warning[unused-fn]: function `career` is never used.”

Your linterExhausted

“Agree? 🙏 VCWL taught me more about leadership than my three divorces. Repost if you're hiring.”

Senior Staff Principal Distinguished Thought LeaderLinkedIn

“You people have the DOM. You had the DOM. Why am I doing this.”

The canvas rendererDrawing everything by hand

“Being memory safe at the bytecode level does not make your app secure. Please stop putting that on slides.”

A WebAssembly moduleSandboxed

Made with VCWL

Real websites, by real people, who were warned.

MoonRb1x ↗

A Roblox UI designer's portfolio. Shops, inventories and HUDs, painted on a canvas.

Pricing

Hobbyist

$0
  • The whole fucking language
  • Five packages
  • A changelog longer than your attention span

Startup

most vibes
$0, angrily
  • Same as Hobbyist
  • We look at you disapprovingly
  • A pitch deck that says 'AI'

Enterprise

Call us
  • We will not pick up
  • SSO (Sorry, Shit's Offline)
  • A Gantt chart, for vibes
// okay, for real for a second

What VCWL actually is

An experimental language and compiler written in Rust, built for fun. Everything below exists and has tests; nothing here claims it's fast, safe or a good idea.

  • Statically typed source compiled to WasmGC; components, state and styles checked at compile time.
  • A Rust renderer (also WebAssembly) that lays out and paints on a canvas, with an accessibility tree mirrored into the page.
  • Server functions, fetch, routing, prerendering, fonts, 3D scenes with glTF models.
  • A package manager whose registry is a git branch, with a security review before install.
  • A linter, a language server, VS Code and Zed extensions, and an in-page debugger.
  • extern fn and @web for calling JavaScript and the browser's Web APIs.

Performance: there are benchmarks in bench/, with their methods and limits. This page cites none of them, because this page is a bit.

WebAssembly sandboxes the module. It does not make an application secure; your bugs are still your bugs, just compiled.