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
Show an Unsaved-Changes Indicator with Livewire's wire:dirty
A no-JavaScript way to warn users about unsaved form changes in Livewire — hidden-by-default messages, highlighted fields, and global $dirty checks.
Style the Exception with Tailwind v4's not-* Variant
CSS negation used to mean a base style plus a `:last-child` override. Tailwind v4's `not-*` variant compiles to `:not()` so you state the exception in one utility.
Track Token Usage and Cost with the Laravel AI SDK
Every Laravel AI SDK response carries a usage object. Here's how to capture it, attribute it to a user and feature, and turn tokens into a real cost dashboard.