log in
consulting hosting industries the daily tools about contact
· 6 min read · Build vs Buy

Roll Your Own Feature Flags vs. LaunchDarkly: The 12-Month Reckoning

I've built the DIY feature flag store twice. Here's the honest ops cost after 12 months that nobody talks about when they say 'it's just a database table'.

The first time I built a feature flag system from scratch, I was proud of it. Took maybe a day and a half. Fit neatly in one migration and a service class. The second time I built one, I knew better - and I still did it anyway, for a client who didn't want to pay $300/month for LaunchDarkly. Twelve months later I had…

Read the daily →
· 6 min read · Doppler / Secret Management

Doppler vs. .env Files: What 'Simple' Actually Costs You

I ran .env files on single-server stacks for years. Doppler didn't sell me on features - it sold me on the operational debt I'd quietly been carrying.

I ran .env files on single-server stacks for a long time and told myself it was fine because the server was managed, the team was small, and a secrets manager felt like enterprise overhead for problems I didn't have. Then a client asked me to produce an audit trail of everyone who'd accessed their Stripe secret key…

Read the daily →
· 6 min read · Laravel

Eager Loading Is Not Always the Answer in Laravel

Sometimes a 40-join Eloquent query is worse than lazy loading. Here's when I reach for chunked lazy loading instead.

The conventional wisdom in Laravel land is "always eager load your relationships." Avoid the N+1 problem. Use . Done. And most of the time, that advice is correct. But I burned a queue worker to the ground last year following it blindly, and I want to talk about what actually happened. The Setup I was building a…

Read the daily →
· 7 min read · Caddy

Caddy as an nginx Drop-in on a Laravel VPS: Mostly Great, Sometimes a Fight

I swapped nginx for Caddy on a client VPS last year. Automatic HTTPS is genuinely magic. A few things will bite you if you're not ready.

I've been running nginx in front of PHP-FPM for so long that switching felt like switching hands for a handshake. But after helping a client migrate a Laravel app to a fresh Ubuntu VPS last year, I decided to give Caddy a real shot instead of reaching for my usual nginx boilerplate. The automatic HTTPS alone saved me…

Read the daily →
· 5 min read · Docker Compose

Docker Compose Overrides Are the Env Layer You're Already Missing

Most teams fork their docker-compose.yml per environment and spend the next year keeping three files in sync. There's a better way.

Most teams I talk to have three versions of - one for dev, one for staging, one for prod - and they're all 80% identical. Someone changed the base image six months ago, updated dev and prod but forgot staging, and now staging has been silently running a different PHP version for half a year. I've seen this exact…

Read the daily →