Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
February 13, 2021 21:46
February 13, 2021 21:46
July 14, 2021 08:08

WebAssembly from Scratch: From FizzBuzz to DooM

Exploring WebAssembly from scratch from a backend-person-point-of-view. A story in four acts.

Welcome to my journey where I will explore some WebAssembly. We will start from scratch. My goal is to look at everything bottom-up, without much magic tooling or frameworks on our way. In this article, I prefer to build everything as much from scratch as possible.

Non-goal: We will not implement our own WebAssembly interpreter or runtime, but use existing ones, e.g., wabt or the Chrome and Firefox browsers.

Demo at, deployed from (Part 3) via GitHub Actions to GitHub Pages.

Play doom at, deployed from (Part 4) via GitHub Actions to GitHub Pages..