Development
My stack and tools
The technologies I lean on to build, and the hardware and software I use every day. The stack first, then the tools.
The tech stack
Not a wall of logos. The tools I actually reach for, grouped by layer, each with an honest reason. I pick boring where boring is safer and reach for the sharp tools where they earn it.
Languages
PHP 8.5
The web runs on it and modern PHP is fast and strict. Typed properties, enums, readonly, fibers. Most of my client work lives here.
Rust
For the hot paths and anything where a guarantee matters more than a deadline. Memory safety without a garbage collector, and a type system that catches whole classes of bug.
TypeScript
JavaScript with a seatbelt. I would rather find the mistake at build time than in production.
Frameworks
Laravel
Batteries included without being a black box. Queues, migrations, and an ecosystem that lets me ship a real app quickly and maintain it for years.
Symfony
When a project needs the components more than the conventions. Solid, predictable, long-term.
Pulsar
My own PHP 8.5 and Rust framework. Compiled dependency injection, hexagonal layers, formal verification on the critical modules. It exists to push the architecture further than a general framework will.
Data and infrastructure
PostgreSQL
The default I trust. Correct, fast, and honest about what it is doing under load. MySQL and MariaDB when the project already lives there.
Redis
Cache and queue. The thing that absorbs a traffic spike so the database does not have to.
AWS, HTTP/3, Nginx
EC2, S3, SES, Route 53. HTTP/3 and a tuned Nginx in front. I have migrated several employers off shared hosting onto this and slept better for it.
Quality and tooling
PHPStan, Psalm
Static analysis at the strict end. The compiler I wish PHP had, run on every commit.
PHPUnit, Infection
Tests, and mutation testing to check the tests are worth keeping. An MSI target keeps them honest.
Docker, GitHub Actions
Same environment everywhere, and a pipeline that will not let a red build reach production.
depth / Where my hours have gone
The daily tools
What is actually on my machine and desk, in the /uses tradition. No affiliate links. If something is here it is because I reach for it daily, not because someone paid for the slot.
Editor and terminal
- PhpStormThe main editor. A full JetBrains IDE that understands the whole project, not just the open file: navigation, safe refactors, continuous inspection. For PHP projects meant to last.
- JetBrains MonoThe editor typeface. Tall x-height, clear at small sizes, the ligatures stay out of the way.
- WSL terminalThe Linux shell built into Windows, where the code and deployments run, aligned with the production servers.
Hardware
- Windows 11 + WSLWindows 11 day to day, with WSL for a real integrated Linux. The development environment matches production, which removes a whole category of surprise.
- Mechanical keyboardTactile switches, ortholinear-ish layout. Quiet enough for a call, sharp enough to feel.
- Dual monitorsCode on one, the running site and logs on the other. The control-room layout, scaled to a desk.
Desk and capture
- Sony α7 IIIMy photo body, never far from the desk. The other half of the craft is never far from the code.
- Wired audioA real interface and headphones. Latency and clarity matter more than convenience on a long call.
Services
- GitHub + ActionsSource of truth and continuous integration, running on every commit.
- Cookieless analyticsSelf-hosted, cookieless analytics I can deploy for a client who needs numbers. No cookie banner to apologise for.