Uses / The workbench
Tools are boring. Habits aren't.
The setup behind nine years of remote work: editor, terminal, AI models, and the Hackintosh that runs it all.
Editor & terminal
- Editor
- VS Code. One editor, kept fast. Extensions only when they earn their memory.
- Theme & font
- One Dark most hours, One Light when the sun wins. Fira Code, with JetBrains Mono as the occasional switch.
- Terminal
- iTerm2 + zsh on macOS Tahoe. Split panes over tabs, always.
Development
- Core stack
- Laravel + Vue for client work; Python (FastAPI, PySide6) when the problem calls for it.
- Local environment
- Laravel Herd. PHP, Nginx, and databases without the ceremony. The machine stays a dev machine, not a sysadmin hobby.
- Databases
- MySQL for every production system since 2016. PostgreSQL for personal projects.
- Debugging
- Laravel Telescope in development, structured logs in production, LogRocket for session replay.
AI tools
- AI-assisted development
- Used deliberately: screen.io was built with an AI pair (opencode). Architecture, review, and every accepted line stayed my responsibility.
- Daily drivers
- opencode in the terminal, swapping models per task: Kimi K3 and DeepSeek for long grinding sessions, GPT for general work, Claude Sonnet or Opus when the problem needs careful reasoning. The harness stays the same, the model changes with the job.
Hardware
- Machine
- A Hackintosh I built myself, running macOS Tahoe on a Ryzen 5 5600 with 32 GB of RAM and a Radeon RX 5500 XT. The AMD chip means no Docker or virtual machines, so anything containerized runs elsewhere. For everything else, it has not complained.
- Desk setup
- Dual 2560×1440 monitors. Editor on one, browser and terminal on the other.
Learning
- How I learn
- Courses to bootstrap, then production pressure. Udemy got me from student to hired in 2016. Every stack since: tenancy, telemedicine APIs, Python. Learned by shipping.
- Books & resources
- Documentation first. Laravel, Vue, PHP, and MySQL docs answer faster than any book, and they're never a version behind.