Toronto · Making useful things

Software builder / 2026

RyanCraighead

I make software for the gaps between tools.

Version-aware developer tools, Windows utilities, automations, and game systems—built to make awkward workflows direct and repeatable.

Illustrated puffin, Ryan Craighead's GitHub profile artwork
Profile mark Make / test / repeat

Useful software,
rough edges filed down.

A flagship developer-tool release preview and three public projects: find the missing layer, make it dependable, and keep the path through it clear.

02 Game tooling
C# + JavaScript
Sol Cesto ModKit A C# installer and JavaScript mod framework with runtime inspection, patch APIs, mappings, configuration, and an agent command queue.
03 Agent tooling
Python / MCP
ntfy MCP Server A dependency-free MCP server that lets local agents send useful phone notifications through ntfy or a self-hosted endpoint.
04 Protocol experiment
Python + Web
AAP An experiment in agent-to-agent software: discovery, permission-gated actions, shared memory, orchestration, and a web interface.

Playable work,
right in the page.

Two Reddit-native experiments, rebuilt here as self-contained demos. Make a tiny world in PixelSandbox, switch dimensions in Voxelary, or jump to the live communities on Reddit.

Rust / WebAssembly / WebGL

PixelSandbox

A tactile falling-sand playground. Paint with sand, water, fire, lava, gas, and plants; then watch the materials settle, flow, grow, and react.

  • Real-time material simulation
  • Undo, speed controls, and local saves
  • Runs locally in your browser
Browser build Ready when you are
PixelSandbox falling-sand simulation with a pile of golden sand

Interactive demo

No sign-in. Progress is stored on this device.

React / Three.js / WebGL

Voxelary

A compact 3D voxel studio for building, coloring, saving, and animating block creations directly in the browser.

Browser build Ready when you are
Voxelary 3D builder with an isometric construction grid and block tools

Interactive demo

Builds can be saved in this browser.

Small tools.
Clear job.
Solid exit.

  1. 01

    Start at the seam

    The useful idea is often between two tools: a missing protocol, a local bridge, a repeatable handoff.

  2. 02

    Keep control local

    Prefer inspectable parts, safe defaults, explicit permissions, and a clean way back out.

  3. 03

    Ship the whole path

    The launcher, setup, tests, docs, and boring edge cases are part of the product—not follow-up work.

JavaScriptPowerShellC#PythonHTML / CSS

I love making things.

Most projects start with an annoyance: a workflow that should be shorter, a tool that should talk to another tool, or a game that could be easier to inspect. I build the missing layer.

Based
Toronto
Primary lanes
Developer tools · agents · game systems
Public workshop
github.com/RyanCraighead

There’s more in
the workshop.

Open GitHub