Projects & Hackathons

Project

Greenkeeper

Open-source Go CLI: a local daemon watches GitHub PRs and runs your AI provider in a dedicated worktree when CI fails, merge conflicts appear, or review threads still need attention.

GoGitHub CLIAutomation
Project

Cursor Model ROI

A sortable comparison of Cursor-supported models — token pricing, Arena scores, speed tiers, and cache-aware bang-for-buck, refreshed from upstream data on a schedule.

ReactCursorData
Project

Clipboard Inspector

Inspect, edit, and copy back every MIME type on your clipboard. Monaco editor with syntax highlighting and rich previews for HTML, JSON, SVG, Markdown, and CSV.

ReactMonacoClipboard API
Project

Anon

Anonymous question submission for all-hands meetings. WebRTC peer-to-peer, no backend, no logs, with optional client-side AI to anonymize your writing style.

ReactWebRTCAI
Project

Cursor Wrapped

A Spotify Wrapped-style dashboard for your Cursor IDE usage, built entirely by AI.

ReactTypeScriptVite
Project

Secret Santa

A serverless Secret Santa organizer with constraints and shareable reveal links.

ReactAWS LambdaServerless
Project

Spoticover

A Spotify playlist cover generator with constrained randomness and geometric design rules.

ReactCanvas APISpotify API
Project

Date Calculator

A quick and useful date calculator, built to test my new boilerplate.

ReactTypeScript
Hackathon

ETHGlobal NYC

Building HouseHodl at ETHGlobal NYC after winning Web3NZ.

Web3DeFiLayerZero
Hackathon

Loan Market

Our entry to the inaugural 2025 Web3 Hackathon.

Web3SolidityReact
Hackathon

TerribleHack 2025

A rollercoaster weekend of hosting TerribleHack 2025.

EventCommunity
Hackathon

TerribleHack 2024

My first time running a hackathon, and a farewell to Zac.

EventCommunity
Article

Replacing Our SQL Parser

A two-day rewrite of a paid third-party ANTLR SQL parser, 3–20× faster on real customer SQL. The production version isn't mine.

ANTLRPerformanceAI
Article

Migrating Off Firestore

A year of frontend work to move off Firestore. Dual writes, feature-flagged reads, SSE for real-time, no customer-visible incident.

MigrationFirestorePostgres
Article

Fixing a Slow React App

Redux subscriptions, duplicate data, and an entire workspace held in memory. Memoization was the bandaid.

ReactReduxPerformance
Article

Frontend Three-Layer Architecture

View models, state management as a data access layer, and why feature isolation is a lie.

ArchitectureReactPatterns
Article

Interface Driven Development

How interfaces let you ship AI-generated code without regret.

ArchitectureAIPatterns
Article

Local First vs Cloud

Data sovereignty, ethical software, and why your app should outlive its creator.

ArchitectureEvoluLocal First
Article

Error Handling with Neverthrow

Typed error handling in TypeScript, mapping errors between layers, and an unusual namespace pattern.

TypeScriptNeverthrowPatterns
Article

Three Layered Architecture

Controllers, Services, and Repositories, and the dependency injection decisions that make it practical.

ArchitectureTypeScriptPatterns
Article

Registry Pattern

A pattern for managing dynamic implementations at runtime with type safety and dependency injection.

TypeScriptArchitecturePatterns
Article

My Monorepo Setup

Why I use a monorepo, my disdain for Vercel, and how I deploy SPAs in 15 lines of code.

MonorepoAWSPulumi
Article

Homelab 2025

Lessons in redundancy after losing 50TB, rebuilding with RaidZ2, and expanding to two nodes.

HomelabZFSProxmox
Article

TrueNAS Migration

A migration of my homelab from Unraid + Docker to TrueNAS Scale + Kubernetes.

HomelabKubernetesTrueNAS
Hackathon

Rent Racket

A political satire card game for Kiwijam 2024.

Game DevGodot
Hackathon

INFRA.NZ

An infrastructure visualisation and mapping tool for GovHack 2023.

ReactMapboxOpen Data
Hackathon

Mixer Mayhem

A community vote controlled automated bartender for TerribleHack 2023.

HardwareArduinoWebSockets
Hackathon

Bustle

A public transport rewards programme proposal for GovHack 2022.

ReactOpen DataUX
Hackathon

CNC Tattoo

An automatic CNC controlled tattoo machine for TerribleHack 2022.

HardwareCNCPython