Web apps


A satire generator making fun of the nLab, a wiki for higher mathematics and category theory. Generates totally legitmate articles about totally legitimate category theory.

It works using my package nearley-generator, which turns a Nearley grammar into an efficient fake-text generator.

A modern re-skinned editor for levels in the classic game Manufactoria. Save and load programs from regular classic Manufactoria share URLs, and automate the verification of your programs by providing a test function in javascript. The app was built initially by @wkevina, and I mainly contributed the automated testing. See also my interpreter for the Manufactoria esolang.

Construct a collection of standard and/or completely custom polyominos, and an arbitrary region to fit them in, and this web app will find and display a valid tiling that places all of the polyominos in the region (if it exists). The app works by reducing the problem to an exact cover problem and applying Knuth’s Algorithm X.

A simple offline-first time tracking app, designed to accomplish a straightforward and simple version of time tracking. All recorded data is saved locally in the browser, and past data can be viewed and browsed at any time. Simple keyboard interface that supports assigning hotkeys and colors to tasks, with the currently tracked task always being shown in the browser tab.

A small page browse and filter over all the vocabulary and Kanji covered in the popular introductory Japanese textbooks, Genki I and II. Mostly and excuse to play with full offline support with service workers and basic PWA (progressive web app) functionality.

Web Components


A web component for creating, displaying, and editing polyominos. Seen here is an instance of the web component itself (try clicking!). More features can be seen at the Codepen demo, and the component can be found on npm. Built with CSS grids and lit-element.
A web component for displaying and selecting points on a Smith chart. Seen here is an instance of the web component itself (try clicking around!) A Codepen demo is also available, and the component can be found on npm. Built with plain SVG and lit-element.

The currently selected point is:
r =
z =

Tiny things


Generate “the clock puzzles” from Final Fantasy XIII 2 - though I really don’t know why anyone would ever want to. Also includes a solver for the puzzles.

A playground/simulator for Project Euler 208

Visualize a class schedule based on text input, and share the link with others