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
Laravel 13 whereVectorSimilarTo() — Native Semantic Search in the Query Builder
Laravel 13's whereVectorSimilarTo() turns the query builder into a vector store. Plain strings in, ranked results out — no manual embedding pipeline.
PHP Custom Attributes in Practice — Beyond Laravel's Built-ins
Laravel 13 ships dozens of built-in PHP attributes, but the docs are quiet on building your own. Here are the patterns I use in production for validation, auth, and auto-discovery.
Rector PHP — Automate Laravel Upgrade Refactors
Stop hand-editing hundreds of files when bumping PHP or Laravel versions. Here's how to wire Rector into a Laravel project, run it safely, and write a custom rule for the patterns specific to your codebase.