Projects

Things I’ve built and worked on.

A collection of open-source tools, self-hosted applications and experiments. Each started with a problem I wanted to understand or software I wanted to use.

NIFTKeep your HTML. Keep your tools.

Website build layer · C++

Nift

A fast, dependency-aware build layer for websites. Nift keeps ordinary HTML, CSS and JavaScript at the centre and handles templates, checked paths and incremental rebuilding around them.

TRESTLEcollectionsauthrealtimefiles

Backend platform · Go

Trestle

A self-hosted backend platform for typed collections, application authentication, access rules, files, realtime events and durable automation, with SQLite and PostgreSQL support.

WARDENeditor · terminal · explorer · agent

Linux server console · Go

Warden

A browser-based console for Linux servers with live monitoring, a filesystem explorer, workspace editor, interactive terminals and a coding agent behind an authenticated Go service.

CORTEXworkspace ~/projectsagent ready ▊

Coding agent · Go

Cortex

A self-hosted browser coding agent for local or remote development, with parallel workspaces and durable conversations that remain available when you reconnect.

WATCHPOSTCPU 18%MEMORY 42%DISK 37%

Monitoring platform · Go

Watchpost

A self-hosted monitoring platform for systems and devices, designed around useful evidence, clear operational state and a constrained investigative agent.

18°Hobart · showersNW 15–25 km/h

Australian weather · Web

Storm

A calmer way to explore Australian forecasts, radar and location weather data while retaining the useful depth available from the Bureau of Meteorology.

SCROLLSHIFTprecision ━━━━━━━ rapid spin

Linux desktop utility · C++

ScrollShift

A native Linux daemon that keeps deliberate mouse-wheel movement precise while allowing rapid spins to travel farther.

{ }"small": true"strict": true

JSON parser · C++

Jsonic++

A small embeddable JSON parser extracted from real use inside Nift and Minify++, with strict parsing boundaries and an intentionally compact API.

MINIFY++HTML · CSS · JS · JSX · JSON · XML · SVG

Native minifier · C++

Minify++

A compact native minifier for JavaScript, JSX, HTML, CSS, JSON, XML and SVG, built for standalone use and embedding in other C++ software.

tsccconst answer: number = 42;accepted · emitted

TypeScript compiler · C++

tscc

A native TypeScript-to-JavaScript compiler with transpilation, project, CommonJS and TSX machinery, plus a deliberately bounded semantic type checker.

JS++embed JavaScript in C and C++

Embedded JavaScript runtime · C++

JS++

A small embeddable JavaScript runtime with a C ABI, host values and callbacks, runtime containment, installable static and shared packages, and a growing conformance boundary.

lolcat-cc logo

Terminal colour · C++

lolcat-cc

A fast C++ implementation of lolcat for colouring terminal text, with a standalone command-line tool and integration work that later fed into Nift.

Earlier work

Google AI Challenge

I contributed to the Ants competition, including map generators, the C++ starter bot and parts of the game specification. I also competed in Ants and Planet Wars, which sharpened my interest in performance, algorithms and adversarial testing.