29 years of software engineering, security and applied AI.
I've been building software professionally since 1997, starting in Delphi and working through pharmacy systems, hosting infrastructure, telephony and school management platforms before landing at Textlocal, which became IMImobile, which became part of Cisco. Along the way I picked up an ADHD diagnosis as an adult that explained a lot: the deep-focus streaks, the pattern-spotting, the compulsion to fix clumsy systems. Once I understood it, it turned from a source of old problems into a genuine professional advantage.
I design and build things end to end: Blackwall, Link, Fury, Leviathan and Flipper Blue++ are all mine, alongside the security, AWS infrastructure, observability and compliance work that pays the bills. I'm open to the next remote role that will keep this brain properly engaged: worldwide, remote only.
- 29years professional, since 1997
- 26verifiable certificates
- 20+products, tools and extensions
Things I
designed
and built.
Products I designed and built. The first four are commercial products I sell and support myself; the rest are open source or free to use. Each link below is the full engineering case study.
-
Identity & Access
Blackwall
WebAuthn-only OAuth 2.1 and OIDC server: PKCE, multi-tenant, audit logging, revocation, rate limiting.
-
Remote Access
Link
Cross-platform SSH, Telnet and GitHub client with an encrypted vault, tabs and a command palette. Previously Nexus.
-
Cryptography
Fury
Post-quantum-only file encryption: hybrid FrodoKEM-640 plus ML-KEM-768, no classical fallback.
-
Forensics
Leviathan
Browser-based binary analysis and forensics workbench: twenty-plus tools, no upload, no telemetry.
-
Firmware
Flipper Blue++
Flipper Zero firmware with the full Bluetooth Low Energy stack unlocked, plus ten apps: scanner, GATT explorer, HID host, tracker detector and more.
-
Code Exploration
CodeNavigator
Explore any GitHub repository as a walkable city: files are buildings, imports are routes along the streets, and anything with a security alert is on fire.
-
Browser Extension
GreasyBoii
User scripts without the ceremony: point at a site, write the CSS or JavaScript, done. Auto-click, text replace, an element picker and a scraper thrown in. Chrome and Firefox.
-
Dead Man's Switch
Contingency
Encrypted, audited dead man's switch: check in on your schedule or your messages, files and remote actions are released exactly as configured.
-
Developer Tools
Webhooks to Email
Put your email address in the URL and any webhook lands in your inbox, formatted for GitHub, Grafana, JSON or Webex. One Go binary, no dependencies.
-
Data Analysis
DAS
Spreadsheet-to-incident workbench that runs entirely in the browser: pick the columns, DAS picks the detector, and every flagged point comes with a plain-English reason.
-
Content Management
NeoCMS
Visual editing for the static site you already have. Mark regions editable, drop in one folder. No database, no framework, no migration.
-
Video Conferencing
WebMeet
Online meeting rooms in the browser, in the mould of Webex or Teams. A shared whiteboard you can load PDF, Word and PowerPoint files onto, generated meeting packs, transcription, Q&A, polls and breakout rooms, plus a set of tools built for maths tutors.
Also worth a look
Panopticon
Customer-facing observability as a product: typed signals, fourteen deterministic detectors, correlated evidence and plain-English explanations, in one Go binary.
Basilisk
A self-contained, OpenAI-compatible LLM server in a single Docker container: CPU or GPU, kept in-house.
VS Code extensions
Cipher Workbench
Cipher Workbench for VS Code is an in-editor cryptanalysis desk for encoding, decoding, analysing and cracking classical ciphers.
Cisco CircuIT Chat
Cisco CircuIT Chat for VS Code is a tidy AI chat companion in the sidebar for reasoning through code without leaving the editor.
Database Navigator
Database Navigator for VS Code is a database cockpit in the editor, spanning MySQL, PostgreSQL, Redis, MongoDB, Elasticsearch and more.
Leviathan Forensics
Leviathan Forensics for VS Code is a byte-level investigation workbench inside the editor: hex editing, entropy, strings, carving and disassembly.
Nexus Connect
Nexus Connect for VS Code keeps terminal connection profiles beside your code, with local and remote sessions and SFTP browsing.
Permuteatron
Permuteatron for VS Code brings Sublime Text-style line permutation and split-selection commands to the editor.
Games,
because
why not.
Everything here is free and plays in the browser. Most of it was built to answer the question "could I make that?", and the answer kept being yes.
-
Persistent Town Simulation
The Parish
Found a town in a world that never pauses. It keeps living while you are away, every number tells you why, and signing up is free.
-
3D Puzzle
Aro
Rotate the cube, tap an arrow, and watch it fly over the edges and set off every arrow in its path. Clear the cube in as few taps as you can, then carry on with endless levels. Installable and works offline.
-
Isometric Fantasy CRPG
The Shattered Marches
A turn-based fantasy RPG built on top of a living world: economies, feuding factions and threats that grow while you look the other way. Lead a party of four through Deansbury and the Tor, settle quarrels however you see fit, and live with the consequences weeks later. Installable and plays offline.
Arcade, stories and puzzles
-
Neon Arcade Racer
Extreme Snail Racing
One mollusc, zero mercy. A full-screen neon arcade racer with a synthwave soundtrack.
-
Physics Arcade
Disgruntled Pigeons
Fifty-four levels of seaside physics revenge. Every sprite drawn in code, every sound synthesised.
-
Speed Bingo
Eyes Down
Fifteen seconds to find your number. Four drums, up to seven opponents, a progressive jackpot.
-
Logic Puzzle
Shikaku
Divide the grid into rectangles, each holding one number equal to its area.
-
Tile Solitaire
Mahjong
Mahjong solitaire in the browser. Installable, offline-ready, no clock to chase.
-
Picture Logic
Nonograms
Fill the grid from the run lengths on each row and column, and a picture appears.
More to play
The Face Gate
Five seals, each broken only by pulling the right face at your camera. Face detection runs on your device and nothing is uploaded.
Mode 7
A teletext horror story told in character-cell graphics, with branching choices. Best played with the lights off.
Codebreaker Phrases
Answer wide-ranging clues to uncover a shuffled number cipher, then decipher the hidden phrase.
Wordle
Six attempts. One word, drawn at random from a British English dictionary. No clock.
Sudoku
Build boards by hand, generate puzzles, check solutions, or let the solver work through them.
Slitherlink
Draw one closed loop so every number matches the edges around it.
Number Sums
Circle the numbers that add up to each row, column and region total. Every board solvable by reasoning alone.
Scratch Fever
Instant-win scratchcards with a running balance and published prize odds. Play money only.
Services
What I Do
Software engineering and applied AI first, with security, infrastructure, observability and automation built in rather than bolted on.
-
Software Engineering & Applied AI
PHP, Rust and Go systems built to last, plus practical AI work: from LLM tooling like Squish and Basilisk to exploring how AI can genuinely help people, not just demo well.
-
Security, Risk & Compliance
Vulnerability assessment, root cause analysis and risk reduction, alongside ISO 9001 and ISO 27001 compliance work that actually holds up to audit.
-
Infrastructure, Observability & Automation
AWS infrastructure, Prometheus and Grafana, Nagios Core, Docker, disaster recovery planning and the process automation that keeps all of it boring in the good way.
-
Technical Escalation & Operations
The person other teams call when a problem crosses team or discipline boundaries: data analysis, cost optimisation and disaster response included.
Blog
A new, shiny technical article, every day.
Go and Rust internals taken apart with real code: why a worker pool deadlocks, what fsync actually promises, where context cancellation quietly does nothing. Linux and security how-tos you can follow line by line: LUKS2 with a detached header, WireGuard between two sites, nftables, SSH certificates, TPM-backed unlocking. UK privacy law read from the legislation itself rather than the press release.
Why Encrypting a File with AES-CBC Still Needs a MAC in Rust
Why Deleting a Running Binary Doesn't Crash It
Your Password Reset Link Is a Backdoor: Threat Model It
Find the Deleted File That Is Filling Your Disk
Can the UK Make You Hand Over Your Encryption Key?
Why a Mutex-Protected Go Counter Still Races After a Struct Copy
Why Your Password Hash Has a Pepper Problem Nobody Mentions
What a Technical Capability Notice Can Require of a Telecoms Operator
delay() Doesn't Reset Your ESP8266, the Loop Without It Does
Why Your ESP32 ADC Readings Wander Once WiFi Is On
● Available for work
Open to remote roles worldwide.
Looking for the next substantial technical challenge: something that keeps an ADHD brain properly engaged. Remote only, anywhere in the world.
Career
Textlocal → IMImobile → Cisco
Fourteen years and one acquisition trail, plus everything before it.








