
Wado
A Rust-flavored programming language built for WebAssembly and WASI
Gallery
About Wado
Wado is a programming language that compiles exclusively to WebAssembly, targeting the Component Model and WASI platform. Its defining characteristic is that platform boundaries and language effects are unified at the type level, meaning WASI capabilities appear directly in function signatures rather than being implicit runtime behaviors. When a function uses standard output, network access, or filesystem operations, it declares those capabilities explicitly in its type signature with an effects annotation. This makes side effects visible in the code's structure rather than hidden in implementation details, producing programs where what you read is genuinely what executes.
The language produces remarkably small binaries because it targets WebAssembly GC where the host runtime provides garbage collection. No memory management runtime gets embedded in the compiled output, eliminating the bloat that most compiled languages add for automatic memory handling. This architectural decision shapes everything about how Wado code compiles and executes, making it particularly suited for embedded scenarios, edge computing, and environments where binary size directly impacts load time or resource constraints. The lean output means faster cold starts and lower memory overhead in production deployments.
Wado's type system mirrors the WebAssembly Component Model's structure precisely, distinguishing between variant, enum, and flags types in ways that map cleanly to the underlying platform. It includes static typing with generics including variadic type parameters for flexible data structures, closures and lambda expressions for functional programming patterns, pattern matching through match expressions for control flow, and trait based abstractions with associated types for extensible designs. Error handling works through Result and Option values rather than exceptions, following explicit error propagation that integrates naturally with the effects system.
The language deliberately avoids macros, implicit conversions, and any types that would obscure what code actually does. This explicit design philosophy means analyzing a Wado program requires no hidden knowledge about compile time transformations or surprising type coercions. The transparency benefits both human readers trying to understand unfamiliar code and AI agents or automated analysis tools that need to reason about program behavior reliably. Template literals exist for compile time execution when needed, but their behavior remains predictable within the language's explicit design constraints.
The standard library covers practical needs including JSON parsing and serialization, cryptographic digests, collections with standard data structures, temporal operations for date and time handling, HTTP routing primitives for web services, and CLI argument parsing for command line tools. These components ship as part of the language ecosystem rather than requiring external dependency management, simplifying the toolchain for new projects while ensuring consistent behavior across deployments.
Developers can write and run Wado code directly in the browser through the online playground, which compiles and executes entirely client side with no server requirements. The playground includes an editor with syntax highlighting and real time output visible alongside the code, making experimentation immediate. Language server features providing code intelligence require a JSPI capable browser like Chrome or Chromium 137 or newer, though basic editing and execution work more broadly. One file scripts support shebangs for quick execution in development workflows without project scaffolding.
Wado remains experimental but functional for its intended purpose of producing type safe, compact WebAssembly modules with explicit effects tracking. The full potential depends on three ecosystem developments still in progress across the broader WebAssembly community: browser Component Model support for running components in web contexts, WASI 1.0 standardization for stable system interfaces, and garbage collected type interoperability across Component boundaries for seamless language interoperation. Developers building for WebAssembly who care about binary size, explicit effects, deterministic behavior, and forward compatibility with the Component Model will find Wado worth exploring as these platform capabilities mature. The project is open source under MIT license, designed by FUJI Goro.
Key Features
- Static typing with generics and pattern matching
- Compiles to WebAssembly Component Model
- Browser based playground and editor
- VS Code extension with LSP support
- No runtime overhead via Wasm GC
- Explicit WASI capabilities in types
Pros & Cons
What we like
- Produces small Wasm binaries without bundled runtime
- Predictable design with no hidden control flow
- Open source under MIT license
- Works in browser with no install required
Room for improvement
- Experimental status with limited ecosystem maturity
- Targets only WebAssembly, not general purpose
- Playground requires Chrome 137+ for JSPI
- Smaller community than established Wasm languages
Frequently Asked Questions
What is Wado?
Is Wado free to use?
Who is Wado for?
How stable is Wado?
Best For
Featured in
Alternatives to Wado
View all
1Lookup
Real-time data verification API for phone, email, IP, and domain validation to fight fraud
Kevin Gabeci
Solo developer building web apps, cozy browser games, and AI creator toolkits.

Codedex
A gamified, story-driven platform that teaches Python, web dev, and more like an RPG quest
Hack2hire
Practice real SDE interview questions from top tech companies with expert worked solutions
Reviews (10)
Decent with some rough edges
Started using Wado casually, now it is pinned in my dock. What stands out is how it handles open source under mit license. Found it works best for building wasi plugins for edge runtimes. My only gripe is experimental status with limited ecosystem maturity. Easy yes for anyone weighing the same trade offs.
Finally something that fits
Started using Wado casually, now it is pinned in my dock. Their take on produces small wasm binaries without bundled runtime is genuinely good. The thing I keep coming back to is how reliable it is. Found it works best for embedding type safe wasm modules in browsers. Easy yes for anyone weighing the same trade offs.
Two months in, no regrets
Wado has quietly become part of my daily flow. It does what it says, which is rarer than it should be. Mostly using it for building wasi plugins for edge runtimes. Hard to imagine going back to my old setup.
It just works
Tried Wado on a side project first, then rolled it out everywhere. Their take on browser based playground and editor is genuinely good. Glad I made the switch.
Quietly excellent
Three months of Wado later, here is what holds up. Got real value out of produces small wasm binaries without bundled runtime. Worth it for what I get out of it.
Two months in, no regrets
Came to Wado after getting frustrated with what I had before. Got real value out of no runtime overhead via wasm gc. Worth it for what I get out of it.
Two months in, no regrets
Hadn't planned on switching, but Wado was hard to ignore. The thing I keep coming back to is how reliable it is. Found it works best for learning wasm internals through a legible language.
Recommended without reservation
Three months of Wado later, here is what holds up. Support actually answered when I had a question, which surprised me. Setup was painless and I was productive the same day. Found it works best for prototyping webassembly components quickly.
Quietly excellent
Came to Wado after getting frustrated with what I had before. The core workflow is smooth once you are set up. Recommending it to people in a similar spot.
It just works
Found Wado on a Show HN thread and I am glad I clicked. Got real value out of produces small wasm binaries without bundled runtime. Mostly using it for learning wasm internals through a legible language. Would sign up again without thinking twice.
Badge builder
Add Wado to your website
Choose a badge style and size, preview it here, then copy the generated HTML. Badge images are self-contained SVGs and do not require an external script.
<a href="https://toolindex.net/tools/wado-lang?ref=badge" target="_blank" rel="noopener">
<img src="https://toolindex.net/badge/wado-lang/medium.svg" alt="Wado - Listed on Tool Index" width="180" height="50" />
</a> How to use the badge
- 1. Pick the style, size, and theme that fit your layout.
- 2. Copy the generated HTML from the code block.
- 3. Paste it into your footer, homepage, or press page.
Standard badge available
The standard listing badge is available now. Score and circle badges are limited to tools currently ranked in the top 10 of a category.
Badge clicks return visitors to this profile with a referral tag so the source remains identifiable.
Related Tools
Kevin Gabeci
Solo developer building web apps, cozy browser games, and AI creator toolkits.

Coolify
Self-hostable, open source alternative to Heroku and Netlify

Warp
The modern terminal reimagined with AI and collaboration

Bolt.new
Prompt-to-deployed full-stack app inside the browser
Work on Wado? Request listing access or correction