Writing

Essays about backend systems, platform work, software delivery, and the little decisions that compound.

The Development Server Beside The Router

Why I moved my development workload from a Mac-only setup to a permanent Linux server accessed through VS Code Remote SSH and Tailscale.

toolingdeveloper-experiencelinuxagents

Direction Is Not Memory

Why repeated agent corrections in real repositories need scoped repository direction, not more transcript memory.

agentstoolinggitsoftware-engineering

What An Agent Harness Actually Owns

A look at the runtime boundaries around agentic tools: the turn loop, provider adapters, tool execution, extensions, and local trust.

toolingclideveloper-experience

The Branch Nobody Could Explain

How large-repo branch chaos turned into a local-first way to declare dependencies and build integration branches.

gitcliworkflow

The Private Layer Beside A Meeting

How too many meetings turned into a private note layer, transcript-aware chat, and an always-on-top assistant.

meetingsdesktoptooling

Development Principles

A thoughtful approach to software development that can help you build better software faster.

software-designprinciples

The Serverless Challenge

From connection limits, real cost, cold starts, and more, we'll explore the challenges of serverless and how I've faced them in my projects.

serverlessawsarchitecture

Migrating a Product from Drupal to Next.js

How I migrated Sensedia's Developer Portal Product from Drupal to Next.js

migrationnextjsaws