SURMA MAKES WEBASSEMBLY MAKE SENSE /// COMLINK: 12K+ STARS AND COUNTING /// PRINCIPAL ENGINEER @ SHOPIFY /// OFF THE MAIN THREAD PODCAST WITH JAKE ARCHIBALD /// SQUOOSH - WASM IMAGE COMPRESSION IN YOUR BROWSER /// PROXX: 100KB. FULL GAME. WORKS ON FEATURE PHONES. /// "CRAVING SIMPLICITY, FINDING IT NOWHERE" /// WEBGPU + NIX + LANGGRAPH - HE'S ALWAYS AHEAD /// SURMA MAKES WEBASSEMBLY MAKE SENSE /// COMLINK: 12K+ STARS AND COUNTING /// PRINCIPAL ENGINEER @ SHOPIFY /// OFF THE MAIN THREAD PODCAST WITH JAKE ARCHIBALD /// SQUOOSH - WASM IMAGE COMPRESSION IN YOUR BROWSER /// PROXX: 100KB. FULL GAME. WORKS ON FEATURE PHONES. /// "CRAVING SIMPLICITY, FINDING IT NOWHERE" /// WEBGPU + NIX + LANGGRAPH - HE'S ALWAYS AHEAD ///
Surma - Principal Software Engineer
SURMA @DASSURMA
Web Performance // WebAssembly // Developer Experience
SURMA
The person most responsible for making Web Workers feel like less of a fever dream.
Principal Engineer Shopify WebAssembly Open Source Podcaster Bristol, UK
"Craving simplicity, finding it nowhere."
12.6K Comlink GitHub Stars
38K Twitter/X Followers
4.6K GitHub Followers
100KB PROXX - Full Game, Gzipped
1.1KB Comlink Library Size
2008 On the Web Since
The Profile
The Man Between Developers and the Hard Web

Surma - known across the web as @DasSurma - is a Principal Software Engineer at Shopify, where he works on developer experience and the kind of monorepo architecture that keeps engineers sane at scale. That is the job title. The actual job, the one he has held across every role and employer, is simpler: close the gap between what the browser can do and what most developers actually know.

He spent years at Google on the Chrome team as a Web Advocate - a job that is exactly what it sounds like. Advocate for the web. Show developers what is already possible. Build the tools that remove the friction. Write the articles that explain the fear away. He did all of that, and the results are still running in production codebases worldwide.

His Comlink library, a 1.1kB RPC wrapper for Web Workers, has over 12,600 stars on GitHub. Squoosh, the browser-based image compression tool he co-built using WebAssembly, compresses images in your browser using the same codecs as native apps - MozJPEG, OxiPNG, AVIF - without sending a byte to a server. PROXX, a minesweeper-inspired game, ships as 100KB gzipped and runs on feature phones with d-pad navigation. These are not demos. They are arguments.

Surma's argument, consistently, across all of it: the web platform is far more powerful than developers believe. The barrier is not capability. It is documentation, tooling, and the absence of someone willing to do the unglamorous work of making the hard thing feel normal. He decided to be that someone.

"Web Workers are the key to better-feeling websites - developers just haven't been convinced yet." - Surma, via Hashnode AMA

What sets Surma apart from the typical developer advocate is that he builds things that get used. Comlink was not a blog post. It was a library, deployed in real apps, that solved a real friction point. The lesson embedded in all his work is that an abstraction should not make you forget the thing it abstracts - it should let you stop thinking about it until you need to.

Bristol-based, German by background, Internetrovert by self-description. His handle @DasSurma uses "Das," the German neuter article, a quiet in-joke for anyone paying attention. He has been on Twitter since 2008, spans Mastodon, Bluesky, Threads, and X simultaneously, and maintains a newsletter and technical blog at surma.dev that covers everything from raw WebAssembly binary format to LangGraph workflows to the correct way to think about Nix.

The Work
Three Projects That Changed the Conversation
Open Source // 2018
COMLINK
A tiny RPC library that wraps the Web Worker postMessage API in something that feels like calling an async function. Workers have always been possible. Comlink made them approachable. The entire Web Worker communication model, hidden behind 1.1kB of JavaScript. Developers stopped asking "is this too complicated" and started shipping threaded code.
12,600+ GitHub Stars
1.1kB Library size
PWA // WebAssembly // 2019
SQUOOSH
An image compression tool that runs entirely in the browser. No server. No upload. The codecs - MozJPEG, OxiPNG, AVIF, WebP - compiled to WebAssembly and shipped as a Progressive Web App. It was a proof of concept, a practical tool, and a benchmark for what Wasm could do in production, all at once.
Millions of users
Game // Accessibility // 2019
PROXX
Minesweeper, but as a web performance statement. Rendered via WebGL canvas. Built with Preact, Comlink, and Rollup. Ships in 100KB gzipped. Works on feature phones with d-pad navigation, works with screen readers, works on everything. Performance engineering as a design constraint, not an afterthought.
100KB total, gzipped
20KB initial payload
The WebAssembly Evangelist

Surma's most-cited piece of writing asks a simple question: "Is WebAssembly magic performance pixie dust?" The answer, to no one's surprise, is no - but the reasoning is meticulous. He documented exactly when Wasm outperforms JavaScript, when it doesn't, and why most benchmarks are lying to you. That article has been shared in Wasm discussions for years.

He also published a series on compiling to WebAssembly the hard way - C without Emscripten, Rust the manual way, and raw WebAssembly binary format. These are not tutorials for beginners. They are for the developer who wants to understand what is actually happening when a .wasm file runs, not just how to invoke the toolchain. The kind of knowledge that makes you useful when everything breaks.

His 2022 deep-dive on WebGPU - "All of the cores, none of the canvas" - extended the same philosophy to GPU programming. The web now has access to the GPU. Most developers have no idea what to do with it. Surma wrote the article that changes that.

Philosophy
The Off-Main-Thread Doctrine

The main thread of a browser is where the DOM lives. It is also where most JavaScript runs, where event handlers fire, and where animations get janked by heavy computation. Surma has spent a significant portion of his career arguing that this is not inevitable - that Web Workers exist, that postMessage is not actually slow, and that moving work off the main thread is the single highest-leverage thing most web apps can do for responsiveness.

He wrote "Is postMessage slow?" as a direct response to the fear developers expressed about Worker communication overhead. The answer: no, not meaningfully. He benchmarked it. He published the data. He built Comlink as the practical implementation of that argument. The pattern he advocates - "actor model for the web" - has influenced how progressive web app architects think about thread separation.

The podcast he now co-hosts with Jake Archibald, "Off The Main Thread," takes its name from this exact philosophy. It launched in November 2023 and covers web platform standards, browser engine behavior, JavaScript proposals, and build tooling with the same informal rigor that made HTTP 203 a classic.

OFF THE MAIN THREAD
with Surma & Jake Archibald - Launched Nov 2023
Two engineers who have both worked at Google and spent years co-hosting HTTP 203, talking about web platform things. Episodes cover WebGPU, Web Components, the View Transition API, JavaScript struct proposals, source maps, DWARF debugging, Chrome's LLM API experiments, and Bazel vs Nix. Sponsored by Shopify with editorial independence. The kind of podcast where you finish an episode and immediately open MDN.
Spotify Apple Podcasts Deezer
The Record
Achievements Worth Noting
01
Comlink - 12K+ Stars
A 1.1kB library that made Web Workers not just possible but pleasant. Used in PROXX, Squoosh, and thousands of production apps worldwide.
02
Squoosh - Wasm in the Wild
Brought professional image codecs to the browser via WebAssembly. Used by millions of developers and designers without them ever installing software.
04
HTTP 203 & Off The Main Thread
Years of podcasting about browser internals, JavaScript quirks, and web standards - with enough humor to keep engineers listening on commutes.
05
The Wasm Canon
A body of articles on compiling C, Rust, and raw code to WebAssembly that remain the best explanations of the topic on the public internet.
06
Shopify DX @ Scale
Leading developer experience and monorepo architecture at one of the most complex JavaScript codebases in production.
The Stories
Field Notes from the Career
He built "Tinder for Bananas" - a real, working web app for rating banana varieties. Not a joke. It uses ES6+, Web Components, ServiceWorker offline caching, and mobile-first performance design. The best way to learn a technology stack is apparently to match-rate produce.
BFWASM: a Brainf*ck to WebAssembly compiler. Built as a learning exercise. Because the fastest way to understand a compilation target is to compile something genuinely absurd into it.
The HTTP 203 podcast with Jake Archibald was a show where two engineers debated the most obscure browser behavior they could find, with genuine enthusiasm. They would argue about cookie expiry rules. They would spend thirty minutes on why a specific CSS selector behaved differently in Firefox. People listened for years.
PROXX was built specifically to work on devices the web usually forgets: feature phones running KaiOS with d-pad navigation. Surma and the team treated accessibility as a performance constraint, not an afterthought.
By 2025 his surma.dev newsletter had expanded from web performance into Nix package management and LangGraph AI workflows. The thread connecting them is the same as always: here is a complex thing, here is how it actually works, here is why you should care.
"Abstractions should reduce friction, not create new sources of frustration." - Surma
The Details
Fun Facts & Quirks
The Handle Explained. @DasSurma uses "Das" - the German neuter article meaning "the" or "it." For German speakers, it reads as "the Surma." For everyone else, it's a three-letter mystery. Both readings are correct.
Internetrovert. His self-description: someone who is introverted in person but outgoing online. He is simultaneously active on X/Twitter, Mastodon, Bluesky, and Threads. He contains multitudes.
Comlink vs. Your Profile Photo. Comlink, at 1.1kB, is smaller than a compressed JPEG of most developers' faces. It also does more.
The Bigger Picture
What Actually Drives This

Surma's career makes most sense when you squint at the pattern: every major project is a response to something developers are afraid of. Web Workers? Too complicated - so here is Comlink, which makes them feel like async functions. WebAssembly? Mysterious and slow - so here is a 3,000-word analysis with actual benchmarks. WebGPU? Nobody knows where to start - so here is a ground-up tutorial with working examples. Nix? Completely alien to most web developers - so here is a video explaining it from first principles.

The throughline is not the specific technology. It is the belief that the gap between "possible" and "used" is almost always a communication gap. Someone has to do the work of writing the explanation, building the demo, shipping the library. Surma decided early that he would be that person.

His move to Shopify - specifically to developer experience and monorepo work - is a natural extension of the same instinct applied to internal infrastructure. The audience shifted from the entire web developer community to Shopify engineers, but the job is the same: find the friction, remove it, make the complex thing feel tractable.

He has also been clear that the move into AI territory with LangGraph is not a pivot. It is the same curiosity applied to a new domain. New API, same questions: what does it actually do, when should you use it, what are the hidden costs, and can we make a small library that removes the worst of the friction? Expect a Comlink-for-LLMs at some point. He cannot help himself.