Skip to content



Genuary 2023

p5.js sketch collection

In the month of January 2023, I created a series of generative artworks for Genuary 2023 (, an online community challenge to respond to a different generative art prompt each day of the month. View the collection online here.

A fragment of a box and wire plot with rectangular (green) and oval (blue) nodes. The two visible rectangular nodes are labeled "craft wood pickaxe" and "mine stone", and the oval nodes have labels like "wood pickaxe" and "stone."



Programming language implementation

Ceptre is a small rule-based logic programming language that can be used to specify and execute game mechanics in a lightweight way. It runs on linear logic and was created for my dissertation. You can view the command-line tool on GitHub and the browser-based implementation on Glitch.


Predicate Set Tilemap Visualizer

p5.js sketch

A tile-grid renderer for collections of predicates representing tilemaps, which might occur as the output of a tool like an answer set program, a Ceptre state, or a planner state. View and run the code in your browser