Deep dives into architecture, performance, DX, and the occasional rant about why my code is not working.

AI can generate SQL, but it doesn’t understand your schema or business. Here’s how a real text-to-SQL system works — and why more context can actually make AI worse....

Everything works fine with one user — until real traffic hits. Suddenly APIs slow down, databases struggle, and errors appear. This blog uncovers hidden bottlenecks like N+1 queries, connection limits, and inefficient patterns that silently break systems as they scale....

Most backend systems fail because they try to do everything synchronously. From sending emails to processing payments, blocking operations slow down your APIs and hurt user experience. This blog explores how queues and background jobs decouple work, improve reliability, and help systems scale efficiently....

Two users. One product. Both click “Buy” at the same time. What happens next? This blog dives into real-world race conditions in ecommerce systems and explains how naive implementations lead to overselling. Learn how combining reservation systems with atomic database updates ensures consistency under high concurrency....

Git feels confusing at first — too many commands, too many errors. This beginner-friendly guide teaches Git the right way: step-by-step workflow, what each command means, and how to fix common mistakes without frustration....

Already know basic Git? This guide takes you deeper — learn rebase, stash, cherry-pick, and real-world workflows to manage code cleanly and avoid common mistakes in production....

Instead of relying on third-party platforms, I built my own production-ready blog CMS using Next.js, Supabase, and Drizzle. This system gives full control over content, performance, and SEO while staying simple and scalable. A deep dive into architecture decisions and real implementation....