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
Cut LLM Costs with a Semantic Response Cache in the Laravel AI SDK
Exact-match caching never fires on natural-language prompts. Here's how I cache LLM responses by meaning using embeddings, pgvector, and the Laravel AI SDK.
PHP 8.5 Attributes on Constants: A Real Deprecation Path at Last
PHP 8.5 finally lets attributes target global constants, so #[\Deprecated] works on them — and on traits. Here is what actually changed, and what will break if you ship it too early.
Position Popovers and Tooltips with CSS Anchor Positioning in Tailwind v4
Tailwind v4 ships zero anchor utilities, but the whole CSS Anchor Positioning API is one arbitrary property away. Here is the complete build: a dropdown that flips at the viewport edge, animates, and degrades cleanly, with no Floating UI in the bundle.