dev log 57
- Three Card Games Almost Shipped Without Card Images — Sorting Out a Shared Deck, a Rotation Module and Landscape Layouts in One Pass
- I Put the Same Logo Badge in the Same Corner of 76 App Icons — The Series Spec Set on the Day a Text-Only Icon Got Rejected
- Re-Measuring All 100 Box Push Levels with a Solver, and Why I Decided Not to Build Level 101
- 157 of My 200 Korean Posts Are Not Indexed — The Side Effect of September's URL Switch and What I Am Doing About It
- How I Built a 7,200-Question Exam Bank with AI Agents — Separate Writers and Reviewers, and the Source Documents I Should Have Read First
- How I Bundled 50 Games into 9 Hub Apps Without Touching a Line of Game Code — Multi-Page Bundles and One Global Flag
- Moving Hub Apps onto Apps in Toss — Why I Withdrew the Shutdowns and Rewrote Existing Apps Instead
- Ad Revenue Keeps Falling After the Apps in Toss Exposure Overhaul — What Dropped Was One App's "All Tab" New Users
- AdSense Rejected Again — I Fixed the Sitemap and Wrote 51 More Posts, and the Result Was the Same
- Tap Bird Was Picked for the Apps in Toss Partner Growth Program — Two Days Turning a "One-Round Game" Into One Worth Coming Back To
- Running Three AI Sessions in Parallel Did the Same Job Twice and Overwrote Each Other's Records — Why Session Management Stays With the Human
- The First Outside Library in My Monorepo, the planck Physics Engine — Decisions Made Building Castle Topple
- One Week After Launching 14 Games on the Same Day — Closing a Launch With D+1 and D+7 Checks
- An Apps in Toss Workspace Holds Only 50 Mini Apps — Getting Stuck at Number 51
- Syncing a Local HTML Checklist With a JSON File, No Server — Letting a Human and an AI Write the Same File With the File System Access API
- 27 Languages Were Inheriting the English Screenshots — The Pipeline That Shot and Uploaded 43 Japanese Screenshots
- Rewriting 45 Japanese Store Listings From Machine Translation to Real Japanese — Genre Words in Titles and Avoiding Trademarks
- The Toss "Ad Notice" Rejection — Toasts and Notices Both Failed, and Only One Layout Passed
- All Four Rejected by CrazyGames — I Am Stopping Here
- Five Games That Need No Words — Looking Back on the Retro Five Launch
- Back to CrazyGames — After Three Rejections, One New Game Submitted as "Siege King"
- I Submitted Three Games to CrazyGames and All Three Were Rejected the Same Day — Plus How I Got Hooked on Ragdoll Archers
- Adding Play Console "Tags" to 53 Apps in a Day — Automating a Menu That Has No API
- Applying for the Google Play Games on PC "Playable" Badge — How I Checked 52 Games on the Emulator in One Day
- Nine Board Games on One Engine — Looking Back on the Eight Days to the October 9 Launch
- One Shared CSS Class Name Broke the Exit Dialog in Two Games — A .sheet Collision
- More Modes, Not More Apps — Looking Back on Reaction Challenge's Eight Modes
- I Added Google Play Games Leaderboards to 22 Games, Then Removed 20 — One Place in Code, Blocked by the Cloud Project Limit
- When Several AI Coding Sessions Share One Repo, Git Breaks Like This — 17 Games Shipped, Never Committed
- First Apps in Toss Registration in One Pass — Submitting 14 Games with Combined App Info and Bundle Review
- Korean Particles Broke My Quiz App — 310 of 700 Answers Got the Wrong Ending
- Toss 1-Won Promotion, Week One — 2,099 Won Spent, and Ad Revenue per Won Was All Over the Place
- AdSense Rejected My Site for Low-Value Content — 600 of 954 Sitemap URLs Were Empty Pages
- Math Monsters Is Now a Google Play 'Teacher Approved' App
- The Revenue Ledger, Three Weeks On — Toss and Play Ad Revenue and 1 KRW Promotions in One Command
- We Put a 1 KRW Promotion on the Toss Benefits Tab — 26 Mini Apps, 3,000 KRW Each
- When to Ask for a Rating — One Review-Prompt Rule for Toss and Google Play
- Searching Backwards for the Birth Charts and Plates That Made Last Week's Lotto Numbers
- My Ad Account Was Suspended 29 Days for Invalid Traffic — The Culprit Was My Own Dev Phone
- Apps in Toss Is Changing How Mini Apps Get Found — Notes From the PO Webinar
- Two Bugs Hiding in the Instant a Screen Changes — A Speed Divided by Nothing and a Tap That Lingered
- Traffic Never Comes Through One Door — Opening 54 Paths on Instagram and YouTube
- I Moved the Play Console Clicking to the API — 121 Locale Slots and a One-Line Release
- Adding Record Tabs to a Leaderboard With No Read API — 20 Mini Games
- The Sound Was Only Late on iPad — Four Steps That All Waited for the Play Button
- Why a 100dvh Container Still Scrolls — The targetSdk 35+ Edge-to-Edge Trap
- Without a Rule, the Same Bug Comes Back — The Day I Flipped the Site's URL Scheme
- 14 Mini Apps, 13,365 KRW in Four Weeks — My Full Ad Revenue Numbers
- Why the Consent Sheet Never Appeared — I Wrote the Rule Down and Never Applied It to the Existing Apps
- The Code Said "Not Supported" — It Had Been Working All Along
- I Shipped Ten Mini Games With No Ads — The Apps Were Done, the Ad Slots Were Never Created
- Apps in Toss Policy Changes for September and October — A Partner's Checklist
- Apps in Toss Functional Push — Three Weeks of Mistakes, Written Down
- Hangul Monsters and Math Monsters Are Now Completely Free
- Shipping Six Mini Games at Once — A Five-Day Retrospective
- Retiring Flutter — What I Learned Rewriting Three Apps for the Web
- What I Learned Shipping 8 Apps as a Solo Dev with a Day Job