
Number Slide — The 15 Puzzle, With Pictures
The classic 15 puzzle with a picture mode, a completion reveal, a daily board and auto-save, now on Google Play and Apps in Toss
A solo developer building small apps after work — and writing down what the process actually taught me.

The classic 15 puzzle with a picture mode, a completion reveal, a daily board and auto-save, now on Google Play and Apps in Toss

I had built 29 apps and still left the road to them blocked. Store links were missing from 24 of 27 Instagram posts and 20 of 27 YouTube videos, and the Toss link appeared in none of the 54. While ...

The video on a store listing is a per-language field. Locale counts differ by app — 2, 17, or 29 — and through the console web each language took 12 to 15 seconds, while the Korean field sometimes ...

The classic snake with swipe controls, one free revive per run and best-score records, now on Google Play and Apps in Toss

Toss Game Center lets you submit a score but never lets you read the rankings back. With no data to draw, I split the job in two — my app owns the time axis, Toss owns the comparison — and shipped ...

Hangul Monsters took noticeably long to read a word aloud. Android and desktop were fine; only Safari on iPad was slow. The cause was a single line. Every time the app spoke, it created a brand-new...

Apps in Toss shows one app at a time, with no combined view across apps. Here is the ledger, the collector scripts and the single-file dashboard that replaced the morning clicking, and why the dail...

Fifteen apps reported the same thing at once: the screen shifts a few pixels up and down. The cause was the edge-to-edge layout that targetSdk 35 and above enforces. The body takes padding equal to...

Gomoku with three computer difficulties, local two-player on one phone, undo and win-loss records, now on Google Play and Apps in Toss
Pure score games have no hint, no undo and no revive, so there is no hook to hang a rewarded ad on. Here is the shared entry-ticket module we built for seven games, and the two traps we walked into