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
Auto-Growing Textareas With No JavaScript Using Tailwind v4 field-sizing
Auto-resizing a textarea used to mean an Alpine listener fighting Livewire over `scrollHeight`. Tailwind v4's `field-sizing-content` does it in one class, no JavaScript.
Dependent Dropdowns in Filament v4 with live() and Reactive Fields
A production-ready country → state → city cascade in Filament v4 — the live() round-trip, closure-driven options, resetting stale values, and getting it right on edit forms.
Safelist Dynamic Blade Classes in Tailwind v4 with @source inline()
A Blade class like bg-{{ $color }}-500 works locally then disappears in production. Here's the Tailwind v4 fix with @source inline().