It Started With a Bug When I was building VMMS — a voucher management system MySQL. Clean queries. Fast results. Then I deployed to a server running MariaDB. Half my charts broke. I had written date queries like this all over the codebase: // This breaks on MariaDB DB::table('voucher_transactions') ->selectRaw('MONTHNAME(created_at) as month, COUNT(*) as total') ->groupByRaw('MONTH(crea
I spent long hours debugging why Google couldn't index my React app. Lighthouse showed green scores. The app felt fast. But Search Console kept flagging LCP failures and CLS shifts I couldn't reproduce locally. The fix? Four lines of metadata and one misunderstood render strategy. If you've ever shipped a "fast" SPA and watched it flatline in search rankings, this Core Web Vitals SEO guide is for
If you are running production workloads, this is for you. Not side projects. Not early-stage experiments. Not a single-service app with low traffic. This is for teams shipping real systems. Systems with users, uptime expectations, and release pressure. Because at that stage, your deploy process is no longer a convenience. It is part of your product. And right now, for most teams, it is the weakest
Every developer has been here. Debugging why Puppeteer crashes in Docker but works on your machine And you still haven't built the actual feature you needed the PDF for. So I built Templar Describe your document Tell the AI what you want an invoice, a report, a contract, a receipt. It generates the HTML template for you. Call the API with your data POST /api/render { "templateName": "invoi
I wanted to add live chat to my WordPress sites without loading a 500KB third-party script. So I built my own. GhostChat is an open source embeddable Widget: Vanilla JS, no framework, ~10KB Backend: Cloudflare Workers + Durable Objects for persistent WebSocket connections Payments: Stripe for the hosted tier Self-hostable: Bring your own Cloudflare account Durable Objects give you stateful serve
The more I use AI, the more convincing it feels. Clear answers. Whether it’s: strategy code writing decision support AI rarely hesitates. And over time, I noticed something subtle. I stopped questioning it as much. Breaking the Expectation We assume better tools reduce errors. Smarter systems. And in many cases, that’s true. But there’s a hidden shift happening: As AI improves, our skepticism decr
Blueprint Felonies Software isn't a puzzle to solve; it is a liability to be managed. In high-stakes, cloud-native environments, the line between "sophisticated" and "unstable" is razor-thin. With over 17 years in the software trenches, I’ve seen architectural "thinking mistakes" destroy more careers than bad syntax ever could. We often build massive, intricate systems when a simple, focused sol
Find a beginner-friendly issue. Fork the repo. Set up the dev environment. Read through the codebase. Start working. Then check the issue again and see a comment from 2 days ago: "Hey I'm working on this, should have a PR up soon." Two hours wasted. Every single time. The weird part? Almost every existing tool for finding open source issues - goodfirstissue.dev, up-for-grabs.net, codetriage - rely