How I work
How I work with coding agents, what I build with AI, the tools I use, and the setup behind it.
How I work with agents
Coding agents handle much of the implementation these days. I give them focused pieces of work, review what they produce, and test the changes before they ship. I handle the architecture and tradeoffs, and decide what gets merged.
The agents run on my own machines, not on the laptop in front of me. A long task keeps going when I close the lid, and I can check on it or answer a question from my phone.
I also work through the scope with the client, especially when the requirements are still taking shape.
What I build with AI
One recent project helps staff find answers in company documents. It runs on the company's own machines using .NET, Blazor, and local models through Ollama.
The app searches the documents and includes references back to the sources. I test it against a set of questions to check the retrieval and answers, including cases where the documents don't contain an answer.
Another project is Ask DHH. It uses DHH's public writing and interviews to estimate his views, with references readers can check for themselves.
Tools I work with
- RAG · Ollama / Local LLMs · pgvector · Microsoft.Extensions.AI · Microsoft.Agents.AI (MAF) · Embeddings · Semantic Kernel
- pi · herdr · Codex · Claude Code · ChatGPT · GitHub Copilot
- C# / .NET · ASP.NET Core · Node.js · Blazor Server · CQRS & DDD
- Azure · SQL Server · Azure Storage · Redis · PostgreSQL · MongoDB
- Vue · Angular · React · Tailwind CSS · Bootstrap · Material Design · TypeScript
- GitHub Actions · Docker · Linux Server Mgmt · Tailscale · Octopus Deploy · TeamCity
Technical setup
Operating systems and shells
Daily driver: Arch Linux with Hyprland, Ghostty, and a custom zsh setup.
Secondary: Windows 11 for Visual Studio, diagnostics, and cross-platform QA.
macOS for iOS and macOS app builds.
Favorite tools and IDEs
Coding agents first: pi is my agent harness, running inside herdr on my desktop or server, with Codex and Claude Code alongside. When I write the code myself, JetBrains Rider for large projects, VS Code for quick edits, and Azure Data Studio and DataGrip for databases.
Also daily: Talk2Text, my own push-to-talk dictation running Whisper locally, Wayscriber for on-screen annotation, and a terminal setup of lazygit, btop, fzf, and zoxide with a Starship prompt.
Hardware and workspace
Main workstation: a desktop with 128 GB RAM, NVMe storage, and two calibrated 4K monitors.
A private dedicated server for agent sessions and other long-running work.
On the road: an M-series MacBook Pro, a Windows laptop (both fully encrypted), and my phone. Mostly they're terminals into the desktop and server.
Remote access
Every machine I use (a dedicated server, my main desktop, my laptop, and my phone) is on one private Tailscale network. I SSH from whatever device I have with me into the desktop or the server, where the code and the agents run, and pick up the same herdr session where I left it.
Fiber with LTE failover, mesh Wi-Fi, and remote power control keep the desktop reachable while I travel or during an outage.
Work with me
I do the same work for clients: .NET architecture, AI integrations, and rebuilds of systems that have outgrown their design.