The notebook
Blog.
notes from real projects
Practical writing on Laravel, AI engineering, token costs, SaaS architecture, and the technology decisions that make software cheaper to run and easier to grow.
Laravel & PHP
21 posts
03 Jun 2026
Laravel & PHP
Multi-Tenant Laravel Pitfalls: Queues, Cache, and Data Leaks
The implementation layer nobody blogs about after the architecture choice is made: tenant context lost in queued jobs, cache key collisions, global scopes silently missing on raw queries, an...
→
31 May 2026
Laravel & PHP
Filament v5 in Production: Admin Panels in Days, Not Weeks
What v5's unified schema, native multi-tenancy, and slimmer JS bundle change in practice, with real hour counts from client admin builds. Includes the boundary line: the customizations where...
→
28 May 2026
Laravel & PHP
A Pragmatic Pest Testing Strategy for Laravel Client Projects
What to test when the budget is fixed: feature-tests-first ratios, which units earn dedicated tests, and how Pest's architecture presets and mutation testing fit a solo-freelancer CI. A cand...
→
25 May 2026
Laravel & PHP
Laravel Sanctum vs Passport: Picking API Auth in 2026
The 90/10 rule — Sanctum for SPAs, mobile, and first-party tokens; Passport only when you are genuinely an OAuth2 authorization server for third parties. Includes token-ability patterns, tes...
→
22 May 2026
Laravel & PHP
Laravel API Versioning and Resource Design That Ages Well
URL-based versioning with per-version controllers and API Resources, and when Laravel 13's first-party JSON:API support is worth adopting over hand-rolled resources. Framed around the freela...
→
19 May 2026
Laravel & PHP
Laravel Queues at Scale: Horizon Tuning and Idempotent Jobs
The failure modes that only show up past ~100k jobs/day: retry_after vs timeout mismatch causing duplicate processing, queue starvation, and non-idempotent retries. Concrete Horizon supervis...
→
16 May 2026
Laravel & PHP
End-to-End Type Safety with Laravel, Inertia, and React
A practical wiring guide: laravel-data + TypeScript Transformer to push typed DTOs from PHP 8.4 to React props, catching contract drift at build time instead of in production. Shows the exac...
→
13 May 2026
Laravel & PHP
Livewire vs Inertia in 2026: How I Choose for Client Projects
A decision framework based on product shape (content site vs tool), team JS skill, and future API needs — not framework hype. Grounded in Livewire 4 / Inertia 3 realities and the freelance a...
→
10 May 2026
Laravel & PHP
PHP 8.4 Property Hooks in Laravel: Wins, Traps, and Refactors
Where hooks and asymmetric visibility genuinely shrink code (DTOs, value objects, form objects) versus where they collide with Eloquent's magic accessors and hydration side effects. Includes...
→
07 May 2026
Laravel & PHP
Upgrading to Laravel 13: Field Notes from Real Client Codebases
Tests the 'zero breaking changes, ten-minute upgrade' promise against real client apps: the PHP 8.3 floor, which new features (native attributes on models, Queue::route(), Cache::touch()) to...
→
26 Mar 2026
Laravel & PHP
Geofencing without destroying the battery
Continuous GPS polling is how location apps earn one-star reviews and uninstalls. The OS-native, server-assisted geofencing setup I use instead — and the numbers behind it.
→
15 Mar 2026
Laravel & PHP
Sync conflict resolution beyond last-write-wins
Last-write-wins is silent data loss with a friendly name. How I resolve sync conflicts deterministically when devices come back after days offline.
→