I'm Craig Wilkinson, a software engineer with a lot of web experience but with personal interests in many areas.

Here (and on my Github profile) you will find some, but not all, of the many projects I have worked on. Many of these projects are unfinished, abandoned, or written in an unusual way.

The projects here vary across language and domain but all in general were created so that I could explore some particular idea.

If any of these projects piqued your curiosity, gave you an idea, or elicited any kind of response (except disgust) whatsoever then I consider my contributions to the open source community a success.

Happy hacking

5 April 2023

Codename Mimir Devlog 2

The game making continues. Take a look.

27 March 2023

Codename Mimir Devlog 1

I'm working on a video game. Showing off some progress.

21 March 2023

Syntax highlighted text editor using Hiccup

A really small implementation of a syntax highlighted editor without using any frameworks.

21 March 2023

Hiccup: Representing the DOM with arrays

Demonstrating how absurdly simple it really is to modify the DOM in a somewhat declarative way.

4 April 2022

The Three-Body Problem

I read Liu Cixin's book. I implemented the basic idea in Clojurescript. It's quite mesmerising.

7 March 2021

A polyphonic synthesizer with ADSR envelope

Just having some more fun with WebAudio. The code for this is more interesting than the result.

18 February 2021

A small problem with my drawsynth experiment

Just pontificating about WebAudio experimentation.

14 February 2021

Drawable synthesizer waveform

WebAudio experiment whereby you can draw the waveform. It's a bit broken I think, on some browsers.

13 February 2021


It's a cube in WebGL. I wrote the code to create the transformation matrices in C and compiled them to WebAssembly for fun (without Emscripten).

6 February 2021

What's dangerous about dangerouslySetInnerHTML?

Just pontificating about some React prop.

6 February 2021

Silly synthesizer

I used Tone.js to make this, with React.