Engineering,
taught
&
leadership,
practised.
I'm Steven — CTO at Digitonic, a PHP engineer since 2010 and a keen golfer with a terrible handicap. This is where I write it all down.
Latest from the journal
Run Laravel Behind PgBouncer in Transaction Mode Without Breaking Booleans
PgBouncer's transaction mode breaks PDO prepared statements, and the classic emulated-prepares workaround then breaks your boolean columns. Laravel 13.17 fixes both properly.
Laravel Sanctum in Production: API Tokens, Abilities and SPA Sessions
Sanctum is two unrelated authentication mechanisms sharing one package name, and almost every tutorial only covers half of one of them. This guide builds a real Orders API end to end: scoped tokens, an ability vocabulary that survives a year of growth, the tokenCan() hole nobody warns you about, expiry and pruning, full SPA cookie auth, per-token rate limiting, and Pest tests for all of it.
Migrate a Laravel App from Redis to Valkey Without Changing a Line of Code
A Laravel Valkey migration runbook: what actually differs, how to move the persisted data instead of cold-starting, and how to sequence cache, sessions and queues so a mistake costs a cache miss rather than a lost job.