Writing.
RabbitMQ, SQS, and Kafka will deliver a malformed payload just as faithfully as a valid one. Here is why message contracts belong in the application layer and how I built a package to enforce them in Laravel.
Before a Laravel upgrade you need to know which dependencies are safe, which are abandoned, which are blocked by your constraints, and which will break on the new version. composer outdated tells you none of that. Here is why I built Laravel Package Doctor and how to use it.
Building for children changes the privacy conversation. For Tuniri, the strongest privacy feature was not a setting or policy page, but the decision to avoid collecting data in the first place.
Style fixes, automated refactors, static analysis, and tests that read like specifications. Pint, Rector, Larastan, and Pest are the four tools I install before writing the first feature, and they pay for themselves on every commit.
AI is changing the shape of software work, but the useful response is not panic or blind trust. Developers still own judgment, architecture, debugging, testing, and product decisions.
Prompt engineering for developers is not about clever phrases. A useful prompt works like a small technical brief: role, task, context, issue, constraints, examples, output format, and done criteria.
Claude Code is most useful when treated as a development partner inside the repo. Start with setup, repo exploration, plans before edits, tests, diffs, settings, and reusable skills.
A monolith is not a mistake by default. Split a Laravel application when boundaries, data ownership, scaling pressure, and failure isolation are clear enough to survive the cost of distributed systems.
Most workplace security failures do not start with a sophisticated breach. They start with an unlocked device, a convincing message, a shared password, or software installed from the wrong place.
GDPR is not just a privacy policy problem. It changes what data you collect, which defaults you ship, which vendors you trust, and how deletion, exports, and notices work in the product.
COPPA is not just a policy problem for obvious kids' apps. It changes how child-directed and mixed-audience products handle age, parental consent, third-party SDKs, retention, and basic product scope.
Every Laravel project reinvents the same JSON envelope. Here is why that happens, what a consistent response layer looks like, and how to stop making the decision twice.
Most apps treat offline as an edge case. For Tuniri, offline was the architecture. What that means in practice — data layer, encryption, sync avoidance, and what I learned shipping it.
After years of reaching for React or Next.js by default, Astro changed the calculation for static sites. What it does differently, where it still has rough edges, and when I'd use something else.