▸ Blog · Page 3
More from the trenches.
Older posts. Same hot takes.
-
LaravelMCP tool errors agents can actually recover from
Throwing exceptions hides failures from the model. MCP wants isError tool results with actionable text, mapped from Laravel domain failures and audited like auth denials.
Read post →
-
LaravelIdempotency keys for MCP mutations in Laravel
Refunds, seat resets, and password emails need more than audit logging. Client-supplied idempotency keys, server-side short-circuits, and race-safe storage under Octane.
Read post →
-
DevOpsCoolify in 2026: 60k GitHub stars and the self-hosted PaaS bet
Coolify crossed 60k GitHub stars. What that buys you, how it really compares to Dokploy, CapRover and Dokku, and the firewall claim to ignore.
Read post →
-
AIAI coding is like an addiction (in the best way)
A level-by-level map of the AI coding workflow: gateway prompts, codebase RAG, then multi-agent orchestration over MCP, and why manual coding now drags.
Read post →
-
AIStop reading every line of AI-generated code
Line-by-line review breaks on agent-sized diffs. How I moved to specs, property tests, and a multi-agent review pipeline, and the 3% I still read.
Read post →
-
AIVibe coding vs agentic engineering: which ships?
Vibe coding is for prototypes, agentic engineering is for production. The daily split I use to ship AI-written code without hidden technical debt.
Read post →
-
ArchitectureModular monoliths first: why microservices can wait
Distributed systems are the priciest fix for a problem you don't have. How to build a modular monolith, own data per module, and know when to split.
Read post →
-
ArchitectureStateless vs stateful apps: the architecture split
Stateful servers remember; stateless servers forget by design. Why horizontal scaling, sticky sessions, and shared Redis decide the architecture split.
Read post →
-
DevOpsDocker vs Kubernetes: containers vs orchestration
Docker packages your app into a portable box; Kubernetes manages a fleet of them across a cluster. How they differ and when you need orchestration.
Read post →