Setup
Stack and tools
Living list. I update it when something meaningfully changes — not every time I buy a new gadget.
Desktop
- Main machine: Fedora 43 desktop, Ryzen + 64GB RAM. Plenty of RAM so microservices can run in parallel without drama.
- Monitor: 32” 4K, all day.
- Keyboard: split mechanical with silent switches.
- OS: Fedora Workstation. Came from macOS; switched when hardware control and terminal workflow started mattering more than the ecosystem.
Editor and terminal
- Main IDE: Cursor (VS Code fork) with Claude integrated. I fall back to VS Code when I’m not using AI.
- Terminal: zsh with Powerlevel10k, tmux for long sessions.
- Dev browser: Chrome with devtools MCP for deep inspection.
- Git: plain CLI. Occasionally GitKraken when I need to visualize complex branching.
Languages and frameworks
- Daily: PHP (Magento 2), Go, TypeScript, SQL.
- Frameworks: Magento, Hyvä, Laravel, Astro, Vue.
- Infra: Docker + Docker Compose, PostgreSQL, MySQL, Redis, RabbitMQ, Fastly.
- Protocols: gRPC, Protocol Buffers, REST, GraphQL.
AI in my workflow
- Claude as a real teammate: PRs, migrations, schemas, reviews, tests, documentation. Claude Sonnet 4.6 for dense work, Haiku 4.5 for everyday tasks.
- Custom RAG over my codebase for context-aware questions.
- Git hooks that auto-review staged diffs before commit.
Writing and thinking
- Markdown + MDX for this site’s stories.
- Obsidian for personal notes and working notebooks.
- Excalidraw for quick diagrams when explaining architecture.
What I don’t use
- Too much Slack: anything that can’t go async is a poorly-designed meeting.
- Video on every call: only when it adds something. 90% of the time it doesn’t.
- Notifications: everything muted except DMs and red deploys.