skip nav


Frogatto & Friends

A beautiful 2D platformer game I have been working on since 2009 with Lost Pixel. You can buy it on for $9.99. DRM-free. 10+ hours of gameplay. No internet connection required. Hand-pixelled artwork. Family-friendly. Source available on github, coming soon to Steam!

Chronos UI & Web API

Between 2018 and 2020 I worked on the Chronos High-Speed Camera, from Kron Technologies. Among other jobs, I redesigned the camera's UI and added a remote-control web API to it. The update was generally well-received, and can be applied to your camera by following the instructions on the forum release thread.

A picture of the new UI is also available. (Compare with this screen from the original one.)

I also worked on the Chronos Ring, a loop of 100 cameras, as seen on Beyond the Press.

Candy Crunch

Over the course of two weeks in the spring of 2013, I was commissioned by a company called Ayogo to program a match-3 game. Candy Crunch was the outcome. Match more than three candies together to score a bonus. There is also a double-sized version. You can the game.

Cube Trains

A 3D puzzle game with a train theme, which I made over the course of 2011. It features roughly a dozen puzzles of varying difficulty, and has an expansion pack which grants 11 more. While I considered it rather nice, it was a commercial failure. Comes with editor & player. Code on Github. No digital rights management software included.

Open Pixel Platformer

This project aims to make a free, open-source platformer for coders and artists to use as a resource. I lead the programming side of the project. Code on Github. Discussion is at a sub-forum on PixelJoint.


An old startup I cofounded, to try to improve the rental market in Vancouver. The idea was that, if folk could get together and find roommates more easily, then they could split larger houses than they do now and everyone would have to pay less in aggregate. This did not pan out, as we failed to bootstrap the project and a late pivot into rental payment did not work either.

					10 #0
					20 comefrom 120
					30 +
					40 #1
					50 dup
					55 dup
					60 <
					70 #10
					80 drop
					100 comefromif 75
					120 drop
					130 comefrom 90
					145 drop

ComeFrom 2

ComeFrom 2 is an esoteric language which explores the implications of only being able to COMEFROM lines, not GOTO them. Since no stupid idea is any use if it's not accessible, an online IDE is available. Be sure to run the 'Counting Up to Ten' program! For a more detailed explanation and introduction, see the page.

ComeFrom's real coup de grâce, however, is the conditional comefrom. By examining the top variable on the stack, we eliminate the need for if-based conditionals and loops entirely.


A pixel editor demo. You can draw sharp lines on it with your mouse and move around with the arrow keys. (Hold alt and click on the example to grant it keyboard focus.) Infinite scroll in any direction. Features a multi-threaded compositing engine. You can the canvas if you've messed up, since there is no ereaser yet. There is a full-page version.


canvasgame is a demo two-player game, written in Javascript. It was written in one day to learn how to make an HTML5 game. Controls: a/e to move and o to fire missile for player 1, numpad 4/6 to move and 5 to fire area bomb for player 2.

Minor Links & Side Projects:

  1. money calculator
  2. light painting tool
  3. accessible D&D dice roller: d or 🎲. (Version history: , .)
  4. periodic reminder tool
  5. visual emoji tester
See also: my resume.

Questions? Comments? I like hearing from people.