From a BBC Micro in the 1980s to security, tooling and analytics.
I started programming at five on a BBC Micro — BASIC first, then 6502 assembly. I moved through the Amiga years and into the PC world, always building rather than consuming.
Professionally since 1997, beginning in Delphi. My first application shipped on the cover disc of a UK PC magazine in 1998; a second followed in 2001. Since then: pharmacy software, hosting infrastructure, school management systems, a bespoke Asterisk platform, agency work, and engineering at Cisco in PHP, Rust and Go.
I placed second in an international coding competition, shipped middleware that let people control a paintball marker over the internet from a Spanish shopping centre, and built systems where the reliability bar is high and the margin for error is narrow.
Time-series data, analytics and observability
VictoriaMetrics · Prometheus · Grafana
Working style: practical, direct, careful. Unglamorous problems taken seriously. Complexity added only where simplicity genuinely will not do.
29 years of professional experienceBlackWall
A WebAuthn-only OAuth 2.1 and OIDC server: PKCE, multi-tenant architecture, audit logging, introspection, revocation, rate limiting and a user portal.
Visit BlackWall →Leviathan
A binary-analysis and forensics workbench in the browser. Hex editing, entropy, carving, ciphers, YARA-like rules — over twenty tools, no upload.
Read more →NeoCMS
A database-free CMS for static sites that still need proper editing. It adds visual editing to what you already have, without the usual weight.
Learn more →Basilisk
A self-contained, OpenAI-compatible LLM server in a single Docker container — CPU or GPU inference, kept entirely in-house.
Read more →Nexus Terminal
A cross-platform SSH, Telnet, raw TCP and GitHub client with an encrypted vault, tabs, split panes and a command palette. For people who live in the terminal.
Read more →Direktor
A production-grade process supervisor in Go. Drop-in compatible with Supervisor, plus email alerts, a real REST API, runtime management and a web UI. One static binary.
Read more →Metrics & Observability
VictoriaMetrics, Grafana, custom collectors and statistical analysis — for teams that need more than a dashboard.
See the work →Cipher Workbench
Cipher Workbench reads the input, runs broad-spectrum and focused attacks against classical ciphers, XOR, and encoded challenge payloads — then promotes the strongest candidate. No upload, no server round-trips.
Try it live →Binaural Beats Lab
A browser tone generator with frequency presets for focus, rest and sleep. Headphone-friendly, with nothing to install.
Mode 7
A teletext-inspired interactive-fiction engine: character-cell aesthetics, an atmospheric tone and branching narrative.
Audiodrome
Encode a picture into sound, then read it back as a spectrogram. Paint with frequency; listen to the image.
Shikaku · 四角に切れ
A quiet Japanese logic puzzle — divide the grid into rectangles, each holding one number equal to its area. Generator, solver and three sizes.
Sudoku
Build boards by hand, generate puzzles, check solutions, or let the solver work through them. Constraint propagation and backtracking under the hood.
Wordle
Six attempts. One word, drawn at random from a British English dictionary. Take your time — there is no clock.
Unity SaveEditor
Adjust values in the visual editor, or work directly in the raw JSON view. Types and schema are kept intact for a clean round-trip.
Work that ships inspectable and reusable. Software hidden in a private repository has limited value. Many projects, but a few listed here.
lookingglass-rs
A Looking Glass server in Rust. Spawns shell or login sessions from command-line arguments — handy for custom remote-access setups.
GitHub →honeybadger
A Go tool that floods phishing forms with plausible decoy data, diluting real submissions and frustrating the attacker.
GitHub →neoCMS
A database-free CMS for static sites. Adds visual editing to existing HTML — no database, framework or migration.
GitHub →mode7
A browser interactive-fiction engine with teletext aesthetics, CRT effects, typewriter animation and branching narrative.
GitHub →sudoku
A solver and generator (Go → WebAssembly). Several grid sizes, gentle solving animations, hints and difficulty levels, all in the browser.
GitHub →When the brief is awkward, that is usually where I am most useful.
Available for remote and async work across security-sensitive builds, specialist tools, analytics and observability systems, product development, and projects where the specification is still being written.
UK-based · Remote-friendly
Security-sensitive builds · Specialist tooling · Product development