My AI Coding Setup
The pipeline I actually run day to day. Work enters as a Linear issue, a Claude routine hands it off automatically, Claude Code on the web does the autonomous async work and opens a PR, and local Claude Code is where I do the interactive, high-stakes thinking. The interesting part isn't the tools — it's knowing which one to reach for.
flowchart LR L["Linear<br/>issue + triage"] --> R["Claude Routine<br/>trigger fires"] R --> W["Claude Code · Web<br/>autonomous session"] W --> P["Pull Request<br/>opened + CI"] P --> C["Claude Code · Local<br/>review + deep work"] C --> M["Merge"] M -. "closes issue" .-> L classDef src fill:#141414,stroke:#2a2a2a,color:#f5f5f5,stroke-width:1px classDef agent fill:#0e0e0e,stroke:#2a2a2a,color:#c8ff00,stroke-width:1px classDef out fill:#141414,stroke:#2a2a2a,color:#f5f5f5,stroke-width:1px class L src class R,W,C agent class P,M out
Linear ↗
Everything starts as a Linear issue — bugs, features, chores. I triage, label, and write enough context in the issue that an agent can pick it up cold. Linear is the single source of truth for what's in flight.
The moment an idea or bug is worth doing, it becomes an issue — before any code.
Claude Routine
A Claude routine watches Linear for the trigger — an issue assigned or moved into a ready state — and kicks off a Claude Code web session against the repo, seeded with the issue as the task. This is the glue that turns 'a ticket exists' into 'an agent is working on it' with no manual step.
Whenever a well-scoped issue is ready to hand off — I don't want to babysit the kickoff.
Claude Code — Web ↗
The web session runs in an isolated cloud container: it reads the codebase, makes the change, runs tests, and opens a pull request — no machine of mine tied up. I fire it off and check back on the PR. Perfect for well-defined, parallelizable work.
Clear-cut tickets I can queue and walk away from — fixes, refactors, doc updates, boilerplate.
Claude Code — Local ↗
For anything exploratory, architectural, or half-formed, I drive Claude Code locally — tight loop, my full dev environment, immediate feedback. I also use it to review and steer what the web sessions produced before things merge.
Ambiguous or high-stakes work where I want to be in the loop on every step.
Isolated cloud containers mean I can have several well-scoped tickets in flight at once, none of them tying up my laptop. I check back on PRs, not on progress bars.
When the problem is ambiguous or the blast radius is large, I want the tight interactive loop and my full environment — and I'm the one steering every step.
The same craft goes into what I build. Explore the AI engineering toolkit — workflow builder, evals, multi-agent PR review, MCP servers — or browse the projects.