Projects

Interactive tools, games, and experiments. Everything here is free and open source.

Bee Letters

A simple letter learning game for preschoolers. The user drags images onto the flowers.

All artwork was created using generative AI.

Letterpaths

letterpaths is is a flexible library built to power cursive handwriting apps. It:

  • contains the underlying geometry for letter shapes
  • provides an algorithm for joining letters together in a way that looks natural

This allows it to expose functions for animating writing words, and to drag a path around the word.

The library provides the underlying data for this functionality, it’s up to the consumer of the library how to render the letters and paths.

Maths vs Monsters

Maths vs Monsters is a tower defence game. The core mechanic is that you have to answer maths questions to upgrade turrets.

This gameplay mechanic works well because:

  • The user can ignore questions they find too hard
  • Questions of greater difficulty result in more powerful upgrades, so there is an incentive to answering harder questions

For some children, one downside is that the user is under time pressure to answer questions. To mitigate this, the user can pause the game.

This game is built on top of my maths-game-problem-generator library

Breakout Maths

Answer maths questions to relese balls. There is no paddle.

This gameplay mechanic works well because:

  • The user can ignore questions they find too hard
  • Questions of greater difficulty result in more powerful ball releases, so there is an incentive to answering harder questions
  • There’s no time pressure to answer questions

My son loves to play this on the projector in 4k, and massively increase the number of columns and rows.

This game is built on top of my maths-game-problem-generator library

Maths Game Problem Generator

A lightweight, zero-dependency JavaScript library for generating curriculum-aligned math problems for UK primary school students (Reception to Year 6, ages 4-11).

This was built by using AI deepresearch agents to research the primary school curriculum and turning the resulting reports into code.