BUILD IN PUBLIC · Build logs

Building an AI product, written down as it ships.

Engineering retrospectives from building this solo — Backend, Frontend, AI, Infra. Translated from the Korean originals; the raw path from a broken deploy to the fix.

📝
Infra

Infra

How to Fix Search Engine Indexing Issues Caused by robots.txt Block Errors

Sharing from Infra experience how to solve the problem of being missing from search engine indexing due to robots.txt configuration errors. Check out the solution for unintended path blocking.

Jun 16, 2026·👁 138
📝
Infra

Infra

Vertex AI 'Resource exhausted' (429) API Rate Limit on a Single VM

Running a full AI product alone on a small VM comes with unique challenges, including hitting API rate limits unexpectedly. This postmortem details how we diagnosed and resolved a persistent 429 error from Google Cloud's Vertex AI.

Jun 13, 2026·👁 165
📝
Dev

Dev

Next.js 14: 'Could not find the module in the React Client Manifest' — The Real Cause Nobody Tells You

A seemingly cryptic Next.js error led to a deep dive into build processes and environment variables, revealing a common pitfall for solo developers on limited infrastructure.

Jun 11, 2026·👁 228
📝
Infra

Infra

Shrinking a Node.js Docker Image from 2.5GB to 300MB: Leveraging standalone server.js

The Node.js Docker image size problem, secrets to shrinking it from 2.5GB to 300MB! Introducing how to use standalone server.js and pkg.

Jun 8, 2026·👁 126
📝
AI

AI

Vertex AI Grounding Cost Gap: Diagnosing the Missing $1300 on My Solo VM

I discovered a significant cost discrepancy in my Vertex AI usage, realizing that token counts alone don't reveal the full picture of LLM expenses. Grounding costs were hidden until I implemented explicit logging.

Jun 7, 2026·👁 145
📝
Backend

Backend

Resolving PostgreSQL Scheduler Hangs: Linking pg_locks and Connection Management

Sharing my experience in resolving persistent PostgreSQL scheduler hang issues by linking pg_locks and managing connections.

Jun 5, 2026·👁 151
📝
Infra

Infra

APScheduler's Advisory Lock Failure: My Solo VM's Scheduler Died Permanently

When your background jobs stop running, and the logs are silent, it's time for a deep dive. I discovered my APScheduler was permanently dead due to a flawed leader election mechanism relying on PostgreSQL advisory locks.

Jun 5, 2026·👁 160
📝
Infra

Infra

Disk Full: How `docker image prune` Saved My Solo VM from a Deploy Freeze

A seemingly simple deployment process froze my entire AI product because the VM's disk filled up. Learn how `docker image prune` became a critical part of my automated deployment pipeline.

Jun 4, 2026·👁 188
📝
Infra

Infra

GitHub Actions vs. GCE Pull Poller: My Single VM Deployment Battle

Discover how a seemingly minor deployment issue with an empty .next directory led to a critical decision: ditching GitHub Actions for a simpler, more robust Google Compute Engine pull poller on my solo-run AI product.

Jun 3, 2026·👁 159
📝
Infra

Infra

Next.js 14: 'Could not find the module in the React Client Manifest' — the real cause nobody tells you

A 500 that only happens in production, only sometimes. The culprit wasn't my code — it was the absolute build path baked into the RSC client manifest. Here's the root cause and the atomic-swap fix.

Jun 2, 2026·👁 272
📝
Backend

Backend

AdSense Approval in 2026: Impossible Without These Essential Pages!

Getting ready for AdSense approval in 2026? Many sites are rejected due to a subpar 'Contact Us' page. Learn how to fix it.

May 30, 2026·👁 153
📝
Infra

Infra

My Home Wi-Fi Got Slow — Diagnosing Suspected Unauthorized External Use with Data

My internet has been feeling sluggish. Could someone else be using my Wi-Fi? This is the diagnostic process, narrowing down 'Is it my PC / Is it someone else?' using data from ping, fast.com, and the network tab in Task Manager.

May 29, 2026·👁 129
📝
Infra

Infra

Heap Cap Exceeded RAM on e2-medium 4GB — Recalculating PM2 Memory Allocation

The combined `--max-old-space-size` of 5 PM2 cluster processes was exceeding the server's RAM. It wouldn't crash during normal operations, but would OOM during spikes. This post details how I reallocated the Node / non-Node budget within the e2-medium 4GB instance.

May 29, 2026·👁 163
📝
Infra

Infra

The Day `package.json` Disappeared and My Deployment Broke — A Next.js Sibling Build Recovery Story

My GitHub Actions build died with 'Cannot find module browserslist'. The culprit? `package.json` had vanished from the working tree. This is the story of how I recovered from a ghost state where PM2 was alive but new builds kept failing, using `git checkout`.

May 29, 2026·👁 192
📝
Infra

Infra

Nginx Configuration Change: Isolating /api/me/* Requests to Port 3001 for API Routing Optimization

This post explains how to optimize API routing and enhance service isolation by isolating /api/me/* requests to port 3001 through Nginx configuration changes.

May 28, 2026·👁 145
📝
SEO

SEO

How I Solved Naver Search Advisor Auto-Submission Using Playwright Cookie Re-use (2026)

Naver doesn't have app password issuance like Google. Auto-login with ID/PW while 2-factor authentication is on is almost always blocked. This post covers the pattern of re-using only cookies with Playwright's `storage_state`, diagnosing Vuetify SPA selectors, and automating submissions with the daily limit of 5.

May 28, 2026·👁 853
📝
SEO

SEO

GSC 'Discovered - currently not indexed' 22 Cases: The Day AI Rewritten Articles Were Rejected by Google

Zero Google impressions. My sitemap is submitted, but nothing is indexed. Inspecting each article via the URL Inspection API revealed 22 out of 42 were judged NEUTRAL. The cause was content duplication signals created by retrospective AI-rewritten articles.

May 28, 2026·👁 166
📝
Backend

Backend

How to Prevent Server Action undefined Errors in 2026: Improving User Experience with Stale Client Bundles

An absurd experience of facing `undefined` errors when calling Server Actions in 2026! This guide clearly explains the cause of the stale client bundle problem and its solutions.

May 26, 2026·👁 134
📝
Infra

Infra

3 Deployment Pipeline Regressions Fixed with `printf` and `distDir` Isolation!

We tackled heredoc errors in our deployment pipeline, the absence of the `.next` directory, and RSC manifest path issues by implementing `printf` and isolating the `distDir`.

May 24, 2026·👁 168
📝
Infra

Infra

7 Infra Improvement Strategies to Prevent Next.js Deployment Build Failures in 2026

7 Infra improvement strategies to prevent Next.js deployment build failures in 2026. Solutions for issues like `--preload` logic, extension support, and build unification.

May 22, 2026·👁 209
📝
AI / Backend

AI / Backend

Gemini Model Names Getting Tangled? Let's End It in 2026 with a Model Registry!

Are you struggling with managing Gemini model names? End the confusion in 2026 with the introduction of a Model Registry!

May 21, 2026·👁 199
📝
AI

AI

Gemini Model Management: Ending Inefficiency! The Secret to 3x Faster Cost Tracking with Model Registry

Sharing my experience solving the complexities of Gemini model management and the issue of inefficient cost tracking using Model Registry.

May 20, 2026·👁 156
📝
Infra

Infra

GitHub Actions Deployment Downtime Due to Import Errors? Solved with a 3-Step Safety Net!

Did your service go down during a GitHub Actions deployment because of an import error? Build a stable deployment environment with this 3-step safety net.

May 19, 2026·👁 184
📝
Frontend

Frontend

Escaping the Next.js 14 sitemap-image Bug! A Guide to Implementing Dynamic Mode Manually (2026)

Have you encountered the sitemap-image bug in Next.js 14's dynamic mode? This guide will show you how to overcome the limitations of MetadataRoute.Sitemap and implement sitemap.xml manually.

May 17, 2026·👁 194