About

I'm a full-stack engineer. I love UX and the web, and I love backend systems just as much: distributed information systems and data management. Performance is always the first step to great UX and DX.

At Elastic

I lead the Documentation Engineering team. We moved the docs from a single monolithic build to a real distributed build system, and we make sure Elastic's context is ready for agents to consume, agentically and over MCP and APIs. We also built Elastic's public search and chat interface.

Before that I was the clients tech lead, then the APM tech lead. I love open source initiatives: I led Elastic's move away from proprietary agents and wire formats to OpenTelemetry. I'm also on the EditorConfig board.

Languages

I'm not tied to one ecosystem, though I obviously love .NET. I also enjoy Swift, Rust, Go, TypeScript and frontend development.

With AI, languages matter less, but I find static languages that can express problems succinctly and compile fast to cross-platform native code a real power boost. Anything that gives AI more guardrails gains productivity.

What I make

I build tooling I need and want, which tends to be developer tooling. An increased focus of mine is on AI guardrails and orchestration.

For the Mac

Apps and a library for Apple silicon: running coding agents, recording demos, and the desktop itself.

  • heed

    Swift 4 stars v0.33.0

    A native macOS app that feels like a TUI, with vim keys, for running coding agents and getting their PRs green and merged.

  • reel

    Swift 0 stars v0.4.0

    Record macOS app and web demos from a script: real cursor, real keys, the app's own sound, captions and zooms, out as MP4 or GIF.

  • hunch

    Swift 0 stars 0.2.1

    A Swift library for local typed decisions on Apple silicon: choice, score and yes/no questions about text in one encoder pass, no server or Python.

  • undertone

    Swift 0 stars v0.7.0

    Hide the notch and screen borders under generated Mac wallpapers that follow your light or dark theme and change on a schedule.

  • yabar

    Swift 0 stars v0.3.0

    Spaces, stacks and tabs for the yabai tiling window manager, in the macOS menu bar.

.NET tools

For building .NET command lines, docs and sites, and keeping their code tidy.

  • curb

    C# 37 stars 0.10.1

    A C# formatter that reflows to a line width like Prettier while honouring all of your .editorconfig.

  • argh

    C# 1 stars 0.21.0

    A source generator for .NET command lines: methods become commands, XML docs become help, records become options.

  • mermaider

    C# 54 stars 0.15.1

    Mermaid diagrams to SVG in pure .NET: parser, layout engine and renderer. No browser, no DOM, no JavaScript, AOT-ready.

  • pagefind-net

    C# 0 stars 0.4.1

    Pagefind static search indexes written from pure .NET: no native binaries, no subprocess, no npm install.

.NET libraries

For modelling domains whose rules are proven, and for handling paths you don't fully trust.

  • entities

    C# 0 stars 0.1.1

    Constraint-checked domain entities for .NET: name a rule once, check it on values, test it on generated data, watch it on event streams.

  • scoped-filesystem

    C# 2 stars 0.5.0

    An IFileSystem for .NET that only reads and writes inside the folders you allow: no .. traversal, no symlinks, no hidden files.