Skip to main content
WritingVideosSpeakingCodeAbout

Writing

Everything I have written down

Articles, reference guides and multi-part series on API design, architecture, PHP and the work around them. All of it free, none of it behind an email form.

Jul 202619 min read
Architecture

Building an order fulfilment workflow in Laravel

Build a real order fulfilment workflow in Laravel: signals from webhooks, timeouts, retries, branching, sleep and saga compensation, one step at a time.

Jul 202610 min read
API Design

Building Bulletproof Laravel APIs using Schema-First Contract Validation

Stop letting undocumented fields into your Laravel API. Write the JSON Schema first, then enforce it in middleware, DTOs, and your Pest test suite.

Jul 202613 min read
Architecture

Strangling Procedural Legacy PHP into Laravel

Replace a procedural PHP monolith with Laravel one route at a time. Nginx ingress, session bridging that actually works, and Eloquent on a legacy schema.

Jul 20265 min read
Shipping & Tooling

Give your Laravel AI agent real-time web knowledge

The Laravel AI SDK is provider-agnostic, but its built-in web tools aren't. Here's how to give your agent real-time web knowledge without losing that independence.

Jul 202613 min read
Shipping & Tooling

The Right Agent at the Right Time

How to run AI across the whole dev lifecycle: the right agent at each stage, human gates on judgement, and decision records that keep architecture honest.

Jul 202612 min read
PHP & Laravel

Fibers Plus the Polling API: What Async PHP Actually Looks Like Now

Fibers give PHP concurrency. The Polling API gives it native epoll and kqueue. Here's how to build on both, with honest benchmarks.

Jun 20269 min read
PHP & Laravel

The Polling API Is the Most Underrated RFC PHP Has Shipped in Years

The Polling API gives PHP 8.6 native epoll and kqueue at last. Here's why the RFC nobody discussed is the most consequential in years.

Jun 202611 min read
Shipping & Tooling

A Proper Look at Tabstack

A developer's review of Tabstack, the Mozilla-backed web API that gives AI agents clean extraction, browser automation, and cited research without a scraper.

Jun 20269 min read
Shipping & Tooling

Giving your agents a terminal: a first look at the tabstack CLI

A hands-on look at Mozilla's tabstack CLI: a single Go binary that turns any URL into clean Markdown or JSON, runs browser automation, and scripts neatly.

Jun 202613 min read
API Design

The Tips Behind API Artisan: Building Laravel APIs Developers Actually Want to Use

Practical tips for building Laravel APIs developers trust: contract-first design, versioning, RFC 9457 errors, idempotency and more. Free book inside.

Jun 20269 min read
PHP & Laravel

Testing Actions, Not Mocks

Mocking your own Actions tests the wiring, not the behaviour. How I test Laravel Action classes for real with Pest, and where fakes still belong.

May 20268 min read
Shipping & Tooling

Meet Sevalla; Cloud Hosting Without the Headache

Sevalla simplifies cloud hosting by providing intuitive app deployment, database hosting, and object storage. No infrastructure to manage.