Personal and exploratory projects that show the way we think about systems: threat models before features, risk layers before returns, documentation before done. Client work is under NDA.
The company's first commercial product: a Windows application that quietly notes what you work on, transcribes it on your own machine, and writes a daily summary only you can read. Encryption is bound to your Windows login, so not even an administrator can open the journal. It reports to you, not your boss.
The engineering interest is how far "local-only" is taken: transcription happens on-device, and summarisation is done by an AI you choose, including an offline option that never touches the internet. The launch itself is engineered too: a landing page with a guided waitlist, a lead store behind it, and the trust pages (terms, privacy, company) published before the first sale rather than after.
A multi-room, locally-hosted voice assistant that treats a family home with the seriousness of a corporate estate. A C# ASP.NET Core brain runs on a Windows PC; Raspberry Pi satellites with wake-word detection handle each room; a Home Assistant integration drives the house itself.
What makes it unusual is the security posture. Sensitive actions require biometric step-up authentication via a paired Android app. The developer console is TPM-bound. Tools the assistant can invoke live in a signed catalogue. The network is segmented, components speak mutual TLS, and the brain enforces an outbound allowlist. It is a home assistant designed by someone who assumed it would be attacked.
JEEVES is still in active development, being built and lived with in its designer's own home. A productisation plan exists on paper (legal, insurance, SLAs, a per-customer engineering model rather than a shrink-wrap install), but the system stays in the lab until it has earned its way out.
A conservative algorithmic trading bot for gold, built on the OANDA API, where the engineering effort went into not losing money rather than promising to make it. Seven independent risk layers stand between a signal and a live order: AI-validated signal filtering, broker-side stop-losses, daily loss caps, position sizing rules, and weekend gap-risk avoidance among them.
The system is designed against FCA Negative Balance Protection rules for retail clients, and documented so that every automated decision can be audited after the fact. It is sold as engineering rigour, never as financial advice or signals.
An n8n-orchestrated writing system that drives Claude Code over SSH to a Windows host, built as an editorial staff for a single human author. Five agents, Commander, Author, Continuity, Editor, and Assembler, work around the writer's manuscript: sliding-window continuity checks keep long-range plot threads intact, every scene lands as its own git commit, and the finished book assembles to docx with front and back matter in place.
The Author agent handles the moment every writer knows: you can describe the scene precisely, but the right words won't come. Describe it, and the agent drafts prose matched to the manuscript's voice, for the author to shape and make their own. Support for the writer, never a replacement.
Embedding Salesforce Lightning Web Components into a Vercel-hosted Next.js + TypeScript application: the kind of integration where the official documentation stops halfway. Server-side OAuth 2.0 Authorization Code flow, Frontdoor URL exchange, CORS and CSP configuration inside the org, and typed React wrappers around the Lightning Out custom elements so the embedding app stays honest TypeScript.
Whether it's a product licence or a commissioned system, it starts with an email describing the problem.