nowfound

Dev tools · January 20, 2026

CA

Coi – A language that compiles to WASM, beats React/Vue

I usually build web games in C++, but using Emscripten always felt like overkill for what I was doing. I don't need full POSIX emulation or a massive standard library just to render some stuff to a canvas and handle basic UI. The main thing I wanted to solve was the JS/WASM interop bottleneck. Instead of using the standard glue code for every call, I moved everything to a Shared Memory architecture using Command and Event buffers. The way it works is that I batch all the instructions in WASM and then just send a single "flush" signal to JS. The JS side then reads everything directly out…

Alternativestop 3% of January 2026

In plain words

Coi is a programming language that compiles to WebAssembly for building web applications and games. Designed for developers who find standard approaches like Emscripten unnecessarily heavy, it uses a shared memory architecture to minimize JavaScript-WebAssembly communication overhead. The language features a component-based design that simplifies DOM logic compared to writing it directly in C++. Coi targets web developers seeking better performance for graphics-heavy applications, particularly those building web games or interactive canvas-based content.

written from the facts on this page · September 2026

From the sources

In the maker’s words, at launch

I usually build web games in C++, but using Emscripten always felt like overkill for what I was doing. I don't need full POSIX emulation or a massive standard library just to render some stuff to a canvas and handle basic UI. The main thing I wanted to solve was the JS&#x2F;WASM interop bottleneck. Instead of using the standard glue code for every call, I moved everything to a Shared Memory architecture using Command and Event buffers. The way it works is that I batch all the instructions in WASM and then just send a single "flush" signal to JS. The JS side then reads everything directly out of Shared Memory in one go. It’s way more efficient, I ran a benchmark rendering 10k rectangles on a canvas and the difference was huge: Emscripten hit around 40 FPS, while my setup hit 100 FPS. But writing DOM logic in C++ is painful, so I built Coi. It’s a component-based language that statically analyzes changes at compile-time to enable O(1) reactivity. Unlike traditional frameworks, there is no Virtual DOM overhead; the compiler maps state changes directly to specific handles in the command buffer. I recently benchmarked this against React and Vue on a 1,000-row table: Coi came out on top for row creation, row updating and element swapping because it avoids the "diffing" step entirely and minimizes bridge crossings. Its bundle size was also the smallest of the three. One of the coolest things about the architecture is how the standard library works. If I want to support a new browser API (like Web Audio or a new Canvas feature), I just add the definition to my WebCC schema file. When I recompile the Coi compiler, the language automatically gains a new standard library function to access that API. There is zero manual wrapping involved. I'm really proud of how it's coming along. It combines the performance of a custom WASM stack with a syntax that actually feels good to write (for me atleast :P). Plus, since the intermediate step is C++, I’m looking into making it work on the server side too, which would allow for sharing components across the whole stack. Example (Coi Code): component Counter(string label, mut int& value) { def add(int i) : void { value += i; } style { .counter { display: flex; gap: 12px; align-items: center; } button { padding: 8px 16px; cursor: pointer; } } view { <div class="counter"> <span>{label}: {value}<&#x2F;span> <button onclick={add(1)}>+<&#x2F;button> <button onclick={add(-1)}>-<&#x2F;button> <&#x2F;div> } } component App { mut int score = 0; style { .app { padding: 24px; font-family: system-ui; } h1 { color: #1a73e8; } .win { color: #34a853; font-weight: bold; } } view { <div class="app"> <h1>Score: {score}<&#x2F;h1> <Counter label="Player" &value={score} &#x2F;> <if score >= 10> <p class="win">You win!<&#x2F;p> <&#x2F;if> <&#x2F;div> } } app { root = App; title = "My Counter App"; description = "A simple counter built with Coi"; lang = "en"; } Live Demo: https:&#x2F;&#x2F;io-eric.github.io&#x2F;coi Coi (The Language): https:&#x2F;&#x2F;github.com&#x2F;io-eric&#x2F;coi WebCC: https:&#x2F;&#x2F;github.com&#x2F;io-eric&#x2F;webcc I'd love to hear what you think. It's still far from finished, but as a side project I'm really excited about :)

More dev tools this month

the category →
  • Dograh592

    The open source VAPI alternative

    Dev tools · 25d ago · dograh.com

  • Meridian530

    Don't let your work go unnoticed. Get promoted!

    Dev tools · 20d ago · meridiona.com

  • x1516

    Lovable for iPhone apps go from idea to App Store

    Dev tools · 11d ago · x1.new

  • Open-source GTM skills for technical founders

    Dev tools · 29d ago · gtmcofounder.com

  • OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.

    Dev tools · 2d ago · opentrailpaper.com

  • Nuphos380

    The AI-Native DevOps Workspace.

    Dev tools · 24d ago · nuphos.ai

Launched alongside, January 2026

the whole month →
  • IN

    Hey HN! I wanted to share something I built over the last few weeks: isometric.nyc is a massive isometric pixel art map of NYC, built with nano banana and coding agents. I didn't write a single line of code. Of course no-code doesn't mean no-engineering. This project took a lot more manual labor than I'd hoped! I wrote a deep dive on the workflow and some thoughts about the future of AI coding and creativity: http:&#x2F;&#x2F;cannoneyed.com&#x2F;projects&#x2F;isometric-nyc

    AI · Jan 2026 · cannoneyed.com

  • Cowork1,088

    Turn Claude into your digital coworker

    AI · Jan 2026 · claude.com

  • DataFast870

    Revenue-first analytics

    Growth · Jan 2026 · datafa.st

  • OpenClaw841

    The AI that actually does things

    AI · Jan 2026 · openclaw.ai

  • Automatic AI-powered code reviews the moment you open a PR

    Dev tools · Jan 2026 · kilo.ai

  • AI Content Maker, for Social Media Publishing

    AI · Jan 2026 · postsyncer.com