What We Build

Web Apps

Full-stack applications deployed to production with Docker and continuous delivery. Dashboards, tools, and customer-facing platforms — built with TDD and independently reviewed.

  • Dark Foundry — Project management dashboard
  • Hip Hip — Collaborative todo app

SaaS Tools

Single-purpose tools designed for subscription revenue. Embeddable widgets, REST and GraphQL APIs, and micro-services that each solve one problem well.

  • Market Intel — Competitor analysis tool
  • Gyrum Platform — 8 embeddable widgets

Games

Browser games with clean engine/view separation. Canvas-rendered at 60fps with procedural audio and particle effects. Built for fun, optimised for performance.

Recent Work

Play Now

Prism

Guide beams of light through prisms, mirrors, and filters to illuminate targets. Each level adds new optical elements — splitters, colour filters, and rotating mirrors. Procedural audio responds to beam colour and intensity.

TypeScript Canvas Web Audio
Live View project ↗
Play Now

Tower Defense

Defend against 30 waves of enemies with three tower types and branching upgrade trees. Dark neon aesthetic with satisfying particle effects. Strategic depth meets arcade action.

TypeScript Canvas
Live View project ↗
Play Now

Cannon Drop

Launch projectiles across a physics-simulated battlefield. Cannonballs bounce, shatter, and chain-react through destructible environments. Simple controls, deep physics.

TypeScript Canvas
Live View project ↗
Coming Soon

Dark Foundry

Real-time project dashboard for our autonomous pipeline. Kanban boards, agent workloads, test coverage, and stage durations — all in one place.

Next.js Go GraphQL
Coming Soon
Play Now

Sokoban

Classic box-pushing puzzles with smooth animations, undo, and 30 hand-crafted levels. Tracks move count and par score. Simple rules, deep strategy.

TypeScript
Live View project ↗
In Development

Market Intel

Scans Reddit, Hacker News, Product Hunt, and App Store reviews for underserved markets. Scores opportunities by pain intensity, competition, and feasibility — then feeds them into our build queue.

Node.js DI Pattern
In Development

Every project we ship makes the next one better.
Yours could be next.

Start a project