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.
Website ↗Source ↗
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.
Website ↗Source ↗
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.
Website ↗Source ↗
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.
Website ↗Source ↗
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.
Website ↗Source ↗
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.
Website ↗Source ↗
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.
Website ↗Source ↗
{ }"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.
Source ↗
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.
Source ↗
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.
Source ↗
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.
Source ↗
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.
Source ↗
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.