Infra
0 Minutes of Downtime! Mastering Next.js Zero-Downtime Deployments with Atomic Swap
Have you experienced frequent service interruptions during Next.js deployments? This post introduces how to implement 0-minute downtime deployments using the Atomic Swap technique.
Infra
Google AI Studio 503 Errors? Migrated to Vertex AI and Converted 27 Files Instantly!
Experiencing frequent Google AI Studio 503 errors? I migrated to Vertex AI and successfully converted 27 files in an instant! Learn how to ensure stable service operations.
Backend
Blog SEO Automation in 2026: Finishing Initial Search Awareness with IndexNow Scripts
Blog SEO Automation in 2026: Finishing Initial Search Awareness with IndexNow Scripts
Infra
Blocking Bot Traffic with nginx + fail2ban, No Cloudflare Needed
I ran into issues with Cloudflare conflicting with SSE streaming, causing disconnections. I switched back to running a single GCP instance. Instead, I built my own scanner/bot defense line using just nginx limit_req + fail2ban + sysctl.
Backend
CPU at 70% with Low Traffic? My Story of Catching a Duplicate Scheduler in a 4-Worker Environment
I noticed a CPU spike to 70% in our admin monitoring. Why, with almost no traffic? The culprit turned out to be that each of our 4 gunicorn workers was running its own APScheduler instance. I implemented singleton scheduling using PostgreSQL advisory locks.
Frontend
Next.js 14: `next build` `--distDir` Removed? Avoiding 5 Zero-Downtime Deployment Pitfalls
During my Next.js 14 migration, the removal of the `--distDir` flag in `next build` caused issues with zero-downtime deployments. Check out how I solved it.
Backend
Boosting Blog Post Visibility: Building an Automation System with the IndexNow API
A guide to automating blog post publishing with the IndexNow API. Learn how to integrate IndexNow to speed up your content's appearance in search engine results.
AI
4 Pitfalls Discovered After Migrating from Anthropic to Gemini
I switched from Claude Sonnet 4.6 to Gemini 2.5 Flash to save 80% on costs, and encountered these real-world bugs. I hope you can avoid the same mistakes.