KB
MJJ123
.cc
✦ Indie Log
Home
Archive
About
Projects
📚 Archive
All posts, sorted by year
2026
06-28
68,000 Impressions, 8 Clicks: The Image Sitemap Blind Spot I Didn't Know I Had
07-04
Building a Pixel Email Subscription System for kbmjj123.cc with Resend and D1
07-28
How I Run Claude Code on My Phone for $29/Month — And Why I Stopped Chasing AI Tools
07-09
How I Built a Multi-Model AI Coding Workflow for $0
07-16
Does an Indie Developer Have to Be a Jack of All Trades?
06-24
Why My Responsive AdSense Ad Went Square on Mobile (and Tall on Desktop) — and How I Fixed It With a Reusable Vue Component
07-08
From $2.45 RPM to a Pivot: What I Learned About Tool Site Ads
07-03
From Zero to $2/Day: 6 Months of Running a Tool Site as an Indie Developer
06-23
Why I Bet My Indie Project on Cloudflare Instead of a Server
06-23
Why GitHub OAuth Login Failed Locally (And How I Faked My Way Around It)
06-23
Two Days, One Broken Monitor, and a Forced macOS Upgrade Just to Run Wrangler
07-26
Google Search Console API with Node.js: Pull Real SEO Data Without googleapis
07-13
Running a Zero-Cost SaaS with Nuxt and Cloudflare
07-17
Nuxt 4 on Cloudflare: Three Deployment Modes and When to Use Each
06-29
A Platform-Agnostic Ad Component for Nuxt 4 SSG: Swapping AdSense and wwads Without Touching Page Code
06-30
When Your Free Analytics Hit the Ceiling: Why I Left Umami Cloud
07-01
Deploying Umami on Vercel + Supabase: The Connection String Traps
07-01
The Last Two Blockers: GeoIP Download and Manual Migration on Vercel
07-02
Why Chinese Visitors Vanished from Umami — And the Custom Domain Fix
07-30
SSG vs SSR vs Hybrid: A Decision Framework for Nuxt Deployment