Skip to content
Implementation of Plasma effect in WebAssembly using Go
JavaScript Go HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Plasma in Go and WebAssembly

Build Status

Deploy status

👀 Live Demo

This is a simple experiment to look at WASM performance vs. plain JavaScript. It is inspired by this plasma effect. After building this, I fixed a bug and improved the performance of the JavaScript-only version here.

Read the related blog post: Gopher meet Plasma: A WebAssembly Experiment.

This repository is continuously built and deployed using free Azure Pipelines. If you're interested in how it was setup and configured to build automatically and deploy to low cost Azure Storage Static Websites, read Deploy WebAssembly from GitHub to Azure Storage Static Websites with Azure Pipelines.


I assume you have Go installed. The link will provide instructions. This was most recently built and tested with version 1.12 on a windows/amd64 device.

If you need to run a local server, launch:

go run goserve.go

To compile the plasma code:

GOOS=js GOARCH=wasm go build -o plasma.wasm plasma.go

Then navigate to:


You can’t perform that action at this time.