Uses

What I actually use, following the uses.tech convention. I only update it when I genuinely swap something out — so if a tool sits here for a while, I really am still using it. Spot something wrong? Open an issue.

Editor & shell

The only part of the setup I am still actively tweaking.

  • Neovim + LazyVim Default for code editing.
  • Cursor Default for anything where AI autocomplete pays for itself.
  • zsh + starship No frameworks, just a fast prompt.
  • Ghostty Terminal emulator.
  • tmux Session manager.

Languages I reach for

  • Python For MCP work, py-key-value, py-mcp-collection, LlamaIndex/PydanticAI contributions.
  • Rust For research projects like fastforward (log forwarding with SIMD + Arrow + DataFusion).
  • TypeScript For octo11y and GitHub Actions work, and the occasional frontend.
  • PowerShell / Bash For the long tail of endpoint-management scripting that still earns its keep.

AI & agent stack

  • FastMCP Obviously.
  • PydanticAI My preferred agent framework for Python right now.
  • LlamaIndex For retrieval-heavy agents.
  • litellm Model abstraction when I need to swap providers.
  • docling Document parsing.
  • Claude + ChatGPT Day-to-day tool use. Model of the week varies.

Observability & data

Unsurprising given the day job, but real.

Infrastructure

  • GitHub Source of truth for everything I ship publicly.
  • GitHub Actions CI, scheduled workflows, and the octo11y repo-stats pipeline that feeds this site.
  • Cloudflare DNS, Pages, and the edge.
  • uv + ruff Python packaging and linting. Everything else got retired.

Hardware

  • MacBook Pro M-series. Primary machine.
  • Framework 13 Linux secondary for things I want to test on something I can open up.
  • Logitech MX Master Trackball if I am in a mood.
  • Herman Miller Aeron Old chair, still great.

Things I have stopped using

There's a lot to be said for removal.

  • Poetry → uv Faster, less fuss.
  • VS Code → Cursor + Neovim Cursor for AI; Neovim for everything else.
  • Docker for local dev Where I can. devcontainers are fine; I just do not need them most days.