Eighteen Files And One Nix Module: How My Brain Works
The Obsidian vault I use as a system of record for every project, why the checkouts inside it are gitignored, and why half of it is generated from my NixOS flake.
Practical engineering education, courses, and resources for the modern PHP & Laravel developer.
The Obsidian vault I use as a system of record for every project, why the checkouts inside it are gitignored, and why half of it is generated from my NixOS flake.
The Streamable HTTP transport replaced HTTP+SSE and quietly made MCP servers stateless. Here is what that means, how the new transport works, and why it unlocks serverless and edge deployments.
How auto-imported flake-parts modules, wrapped desktop packages, and a single base16 palette file shape one NixOS config - and where each one bites.
A workflow that sleeps for three days is not a workflow you can test by waiting. Owning the clock, asserting on absence, and the races you only get one shot at.
Build a real order fulfilment workflow in Laravel: signals from webhooks, timeouts, retries, branching, sleep and saga compensation, one step at a time.
Stop letting undocumented fields into your Laravel API. Write the JSON Schema first, then enforce it in middleware, DTOs, and your Pest test suite.
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.
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.
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.
Fibers give PHP concurrency. The Polling API gives it native epoll and kqueue. Here's how to build on both, with honest benchmarks.
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.
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.
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.
Practical tips for building Laravel APIs developers trust: contract-first design, versioning, RFC 9457 errors, idempotency and more. Free book inside.
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.
Sevalla simplifies cloud hosting by providing intuitive app deployment, database hosting, and object storage. No infrastructure to manage.
Learn how to build device-based rate limiting in Laravel with Fingerprint.dev, Redis caching, and custom middleware to avoid the limits of IP-based throttling.
Tempest makes API development feel lightweight by combining typed request objects, attribute-based validation, discovery-driven routing, and built-in mapping with minimal ceremony.
Use state machines and workflow engines in Laravel to keep business rules explicit, auditable, and resilient across async processes.
Turn your diagrams and design notes into a clear build order that respects dependencies.
Learn how to map application components, layers, and dependencies before you start building.
Learn how to spot hidden assumptions in a brief before you turn it into code.
Understand relationship types and cardinality so your schema reflects how your data really connects.
Shape features before coding so scope, approach, and boundaries are clear from the start.
Think through requirements, assumptions, and structure before you open your editor.
A practical mindset shift for turning thinking-first habits into mid-level engineering judgment.
Use layered thinking to place logic in the right part of your application before it turns into a mess.
Turn vague tasks into user-focused features with clearer outcomes and better stories.
Map entities and relationships before you write migrations so your schema starts on solid ground.
Five PSR standards that most PHP developers skip. Master them and write code that works anywhere, tested easily, and tied to nothing.
Most Laravel APIs start as clean CRUD systems. This article walks through why that breaks down, and how an action-based design fixes the mess.
Signal is a PHP library that generates living documentation from native attributes. Annotate your classes, run one command, get accurate docs.
Building a configurable lead scoring engine in Laravel 13 - config-driven weights, query objects for prioritised retrieval, rescoring commands, and a top leads endpoint.
Building a lead enrichment and scoring pipeline in Laravel 13 using the AI SDK, structured agents, composable Action classes, and PHP enums for type-safe status management.
Add JWT auth to a Laravel API with register, login, refresh, and logout flows using Form Request DTOs, Action classes, and auth:api middleware.
Start the Modern Laravel APIs series by structuring Pulse-Link for production with clear layers, ULIDs, action classes, DTO requests, and versioning.
Implement lead ingestion in Laravel with Form Request validation, typed DTO payloads, Action classes, and JSON:API responses for POST /v1/leads.
How to have honest conversations with stakeholders about AI productivity - what actually changes, what doesn't, and how to set realistic expectations.
Learn how to version Laravel API routes, signal deprecations with Sunset headers, and keep API contracts aligned with your implementation.
How to run a Shape Up betting table - the planning meeting where pitches get selected and cycles begin or quietly collapse.
AI makes implementation cheaper and judgment more valuable. Learn how engineering roles, hiring, and team design are changing.
How to review AI-generated code effectively, what failure modes to watch for, and how to maintain quality standards as code volume increases.
How to write specifications that produce useful LLM output, covering interface definitions, edge cases, and why the spec is your highest-leverage artifact.
A practical introduction to Shape Up - the planning methodology built on appetite over estimation, fixed time with flexible scope, and small autonomous teams.
How to write Shape Up pitches that give engineering teams real clarity - problem definition, appetite, solution shaping, rabbit holes, and no-gos explained.
Technical debt is inevitable. What matters is whether you manage it deliberately. A practical framework for prioritisation and stakeholder communication
A practical guide to engineering career progression, from junior to staff, covering promotion criteria and the conversations that move careers forward.
How engineering leaders make decisions under pressure, communicate through uncertainty, and keep teams focused when the path forward is not clear.
Technical debt is inevitable. What matters is managing it deliberately. Here is a practical framework for prioritisation and stakeholder communication.
How to develop your coaching skills as an engineering manager, with practical techniques for performance conversations, growth planning, and career development.