Selected work

A few problems I've worked on. The systems stay private; the thinking doesn't.

From hours to seconds: a diagnostic tool engineers actually wanted

The problem. Engineers diagnosing issues relied on a viewer for very large system traces that was slow to load and slower to filter. It had no colour, no real keyboard navigation and no command line, only a GUI. Every investigation started with waiting.

What I built. A new tool, written in Go, designed for large trace files from the start. Work that took hours now takes seconds, and whole batches of traces can be processed in one go. One core engine sits behind five front-ends: command line, terminal UI, web, VS Code and desktop. Navigation is keyboard-first, and colour does the reading for you.

Where AI comes in. Two ways. AI agents can drive the tool directly, so log analysis is fast and repeatable instead of a model guessing at raw text. And engineers can read and filter traces in plain language, by typing or by voice.

Who it’s for. Engineers who care about their own productivity: people who want modern tools, live on the keyboard and hate waiting.

  • Go
  • Performance
  • Developer tooling
  • AI integration

Bringing AI into how a team builds software

When AI coding tools arrived, caution was the reasonable default for software that runs inside banks. I made the case with a working result rather than a slide deck: an existing application rebuilt like-for-like with an AI agent, in about a week. That proof moved the conversation from whether to use AI to how to use it well.

  • AI enablement
  • Agentic development
  • Engineering leadership

Modernising long-lived platforms

Moving mature software forward: onto modern platforms and runtimes, and toward a modern, consistent user experience across both internal tools and customer-facing products. The hard part is rarely the new code. It’s keeping everything that already works in the field working while the ground moves underneath it.

  • Architecture
  • Modernisation
  • UX

↑ ↓ to move · Enter to open · Esc to close · J / K: next / previous section