Skip to content

Blog

Writing

Engineering, AI experiments, and software craft.
Apr 15, 2025
Β· 8 min read

Building a RAG Pipeline in Laravel with pgvector

How I built the AI chat on this site: chunking documents, generating embeddings with Voyage AI, storing them in pgvector, and answering questions with Claude.

Mar 20, 2025
Β· 10 min read

Laravel Queues at Scale: Lessons from 10 Million Jobs

Patterns and pitfalls I've learned running Laravel queues in production β€” from connection pooling and job chunking to dead-letter handling and zero-downtime deployments.

Feb 10, 2025
Β· 7 min read

Adding PHPStan to a WordPress Plugin (Without Losing Your Mind)

A practical guide to getting PHPStan running on a production WordPress plugin, including the stubs you need and the rules you'll want to ignore.

Dec 5, 2024
Β· 12 min read

Building a WooCommerce Payment Gateway from Scratch

Everything you need to know to build a production-ready WooCommerce payment gateway integration β€” checkout flow, webhooks, refunds, and subscriptions.

Oct 20, 2024
Β· 9 min read

Building a Dark Design System with Tailwind CSS v4

How I designed the D1 "Dark Precision" system for this site β€” CSS-first @theme config, custom tokens, and a palette that passes WCAG at every level.

Aug 15, 2024
Β· 6 min read

WP-CLI Tips That Actually Save Time

Practical WP-CLI commands and custom commands I use daily to speed up WordPress development, deployments, and debugging.

Jun 10, 2024
Β· 8 min read

Feature Testing Laravel Applications with Pest

A pragmatic guide to writing fast, readable feature tests in Laravel using Pest β€” from test structure to database setup and API testing.

Apr 1, 2024
Β· 9 min read

Five Years of Open Source on WordPress.org β€” What I've Learned

Honest lessons from shipping and maintaining five plugins on WordPress.org β€” support burden, versioning, security reviews, and building an audience.