AI-assisted development · 4
opencodeMy default for agentic coding in the terminal. Open source, model-agnostic, and it stays out of the way.
ClaudeThe one I reach for on the heavier reasoning and multi-file refactors.
CodexKept around for a second model’s take when a problem is stubborn.
AntigravityGoogle’s agentic IDE. Gets a run when the task fits it.
Languages & frameworks · 6
GoFirst choice, and the one I write most days. Services, tooling, anything that should be boring and fast.
PythonWhere the agentic-AI and ML work lives. LangGraph and Google ADK when a system needs real orchestration, PyTorch and TensorFlow when it needs a model underneath.
TypeScript & Node.jsThe web and tooling side. Not every day, but never far from reach.
React & Next.jsWhat this site is built on, and the fastest way I know to stand up a prototype.
Vue.jsWhen a frontend wants structure and I would rather skip the framework debate. Occasional.
React NativeFor the times the thing has to live on a phone. Also occasional.
Platform & infrastructure · 5
KubernetesThe substrate for most of what I build.
Terraform + TerragruntInfrastructure as code. Terragrunt keeps the modules DRY across environments.
kubectx + kubensFor hopping between clusters and namespaces without thinking. Huge thanks to Ahmet Alp Balkan for building and open-sourcing it.
GCPMy primary cloud. Where most of what I run actually runs.
AWSSecond home. Reached for when the workload or the customer already lives there.
Hardware · 2
Keychron Q1QMK and VIA, hot-swap switches, heavy enough to stay put. The board all of this gets typed on.
MacBook ProApple silicon. Quiet, and it lasts the day.