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
Build a Multi-Step Wizard Form in Livewire 4 with Per-Step Validation
Reach for a package and you inherit its opinions. A multi-step wizard is just one Livewire component with a step counter and validation scoped to the step you're on.
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.