Tools and hardware I use every day.
The hardware, software and development tools I rely on for building distributed systems and platform infrastructure.
Workstation
-
MacBook Pro, M4 Max, 64GB RAM
Runs multiple Kubernetes clusters via kind, compiles Go projects instantly, and handles everything from Docker builds to video calls without throttling.
-
ZSA Voyager
Split ergonomic keyboard with columnar stagger. Custom layers for coding, navigation and window management. Portable enough to take everywhere.
-
Apple Magic Trackpad
Three-finger swipe between desktops is the fastest way to switch context between terminal, browser and editor.
Editor & Terminal
-
Helix
Modal editor with built-in LSP support and tree-sitter. No plugins to manage, gopls integration works out of the box. Selection-first editing model beats Vim's verb-noun approach for refactoring.
-
Warp + zsh
Block-based terminal with built-in command grouping. Split panes for running the dev server, tests and git operations side by side.
Languages & Frameworks
-
Go
Primary language for everything backend: HTTP services, Kubernetes controllers, CLI tools, gRPC services. Stdlib first, dependencies only when they earn their place.
-
TypeScript / React
For frontends and internal dashboards. Next.js or Vite depending on whether SSR matters. Tailwind CSS for styling.
-
Ruby / Rails
Years of production Rails experience — biometric data platforms, internal tooling, CMS modules. Still the fastest way to prototype a full-stack app.
-
PHP
Built hosting platforms, fitness management software and CMS systems. Platform work on AWS/EKS enabling self-service PHP deployments.
-
Python
Scripting, automation and document generation. Quick prototyping when Go would be overkill.
Infrastructure
-
Kubernetes
Custom controllers with Kubebuilder, CRDs for workflow management, bare-metal and cloud clusters. On-premise with CRI-O, cloud on EKS and AKS.
-
AWS / GCP / Azure
AWS is the default. CDK and CloudFormation for IaC, EKS for compute, S3 for storage. GCP for specific workloads. Azure when the client requires it.
-
Terraform / CDK
Terraform for multi-cloud and shared modules. AWS CDK when staying within the AWS ecosystem and wanting type-safe constructs.
-
GitHub Actions
CI/CD for everything. Container builds, Go tests with Ginkgo, infrastructure deployments, CV generation. Self-hosted runners when builds need cluster access.
Dev tooling
-
Taskfile
YAML-based task runner. Replaces Makefiles without the arcane syntax. Every project gets a Taskfile with build, test, dev and deploy targets.
-
Ginkgo / Gomega
BDD-style Go test framework. Table-driven tests with DescribeTable, async assertions with Eventually, and real fixtures instead of mocks.
-
gopls
Go language server. Symbol navigation, diagnostics, references and rename across the entire workspace. Pairs with Helix for a lightweight but capable Go IDE.
-
Docker / kind
Local Kubernetes clusters with kind for controller development. Multi-stage Docker builds for minimal production images — this site runs on a 15MB distroless container.