Mini App Builder — Episode 1: I Built a Mini App on Korea's Biggest Fintech in One Day

One day. Zero lines of code written by hand. $0 cost. I built a quiz mini app and launched it on Apps in Toss — Korea's biggest fintech super app with 24.8 million monthly active users. Submitted for review, approved in two business days, went live.

Ten days later, 52 people had used it. The most active age group wasn't the 20-somethings I'd designed it for. It was people in their 50s.

This is that story.

What This Post Covers

Building and launching a price guessing quiz on Apps in Toss — what the platform is, why a price quiz made sense, how Claude Code with an MCP connection generated the entire codebase from a single prompt, and the brutally honest post-launch data. If you've been curious about mini app platforms but don't know where to start, this is a real case study with real numbers.

Why a Price Quiz on Toss

Apps in Toss is basically Korea's version of WeChat Mini Programs. Third-party developers build HTML/JS web apps that run directly inside the Toss app — no separate download, no app store submission. Over 1,000 mini apps are live, growing at about 5 new ones per day. Registration is free. No business entity required to launch.

Toss is a finance app. Its users think about money every time they open it. A price quiz — "guess how much this costs" — fits that context perfectly. I browsed 130+ apps in the "Test" category on the platform. Zero price quiz apps existed.

The concept: show everyday products, give four multiple-choice price options, reveal the answer after each question. Ten questions per episode, then a "price sense era" grade — ranging from "2025 Price Hacker" (nailed it) to "1999 Time Capsule" (completely out of touch).

Three episodes: convenience store items everyone thinks they know, café and dessert prices that have quietly doubled, and luxury goods from Nike to Chanel that make you go "wait, HOW much?"

The shock factor is the share trigger. "A triangle kimbap costs 1,200 won now?!" — that surprise is what makes someone screenshot their result and send it to friends. And the whole thing runs purely on the frontend. No server, no API costs, no database.

Price Guessing Challenge main screen showing three episodes on Apps in Toss

One Day, Zero Lines of Code

Here's the part that still feels slightly unreal. I didn't write code. I described the app to Claude Code, and Claude Code wrote it.

The key enabler was the Apps in Toss MCP connection. One terminal command:

brew tap toss/tap && brew install ax claude mcp add --transport stdio apps-in-toss ax mcp start
What this does: It gives Claude Code direct access to the official Apps in Toss SDK documentation. When generating code, it automatically uses the correct config format, API patterns, and platform requirements — things that would've taken hours to figure out from docs alone.

I gave Claude Code one comprehensive prompt describing the entire app: screen flow, quiz mechanics, grading logic, share messages, visual style. It generated the complete project — router, quiz data, score persistence, share links, everything. Vite + React + TypeScript, chosen by Claude Code based on the SDK docs.

The quiz data itself took longer than the code. Two hours of price research across official sources — GS25 app for convenience store prices, Starbucks Korea for café prices, Chanel Korea for luxury prices. Every answer includes a source citation. One wrong price in a viral quiz kills credibility instantly.

Deployment: pushed to GitHub, connected Cloudflare Pages, automatic deploy on every push. App icon generated with ChatGPT's DALL-E. Bundle built with one command, uploaded to the Apps in Toss console, submitted for review.

Two business days later: approved. Live on the platform.

Price quiz gameplay screen showing a product and four price options in Korean

Things that would've gotten the app rejected (I checked the review checklist before building, not after): custom back button alongside the SDK navigation bar, popup on app entry, ads during loading screens, pinch-zoom enabled, links to external apps. Avoiding these upfront saved a rejection cycle.

What Toss Gave Me (and Didn't)

The good part: organic discovery is real. 34.6% of my traffic came from Toss's search, 30.8% from the mini app home page. I didn't spend a cent on promotion. The platform does surface your app to users.

The not-so-good part: with 1,000+ apps competing and no points reward system, my app landed around position #140. The "Toss pushes users to you" narrative is true for top performers. For a new quiz app with no incentives? You get the long tail.

And then the wall I didn't see coming: monetization requires a registered business entity. Ads, in-app purchases, Toss Pay — all locked behind business registration. I'd built and launched a fully functional app on a platform with 24.8 million users, and I couldn't make a single won from it.

The quiz format has a deeper problem too. Users complete 30 questions and they're done. No reason to come back. D1 retention was 5.8% — 3 out of 52 users returned the next day. An "EP.4 Coming Soon" teaser was supposed to drive return visits. It didn't.

Price quiz result screen showing grade and share button in Korean

The Numbers

Ten days of data, unfiltered:

Daily active users: ranged from 2 to 10. Average: about 5.

Total unique users: 52.

Average session: 48 seconds. Just enough for one episode of 10 questions.

D1 retention: 5.8%. Three people came back.

Age distribution (the surprise): 50s were 26.5% of users — the largest group. 40s+50s combined made up 43%. The 20-somethings I'd designed the app for? Only 18%.

I targeted young adults who'd be shocked at convenience store prices. Turns out it's the older generation — the ones who remember when gum cost 300 won — who are most surprised by what things cost now. In hindsight, that makes perfect sense. But I didn't predict it at all.

Traffic sources: Search 34.6%, Mini-app Home 30.8%, Other 25%, All Tab 9.6%.

Revenue: $0. Business registration required.

Total cost: $0. Claude subscription was existing.

What's Next

The app worked. The platform worked. What didn't work was the business model — I couldn't monetize without a business entity, and a one-time quiz has no retention anyway.

But here's what I did walk away with: a complete pipeline. Claude Code workspace configured. GitHub to Cloudflare auto-deploy set up. Apps in Toss console account ready. Bundle build workflow established. The second app would take half a day instead of a full one.

The pipeline is more valuable than any single app.

So I went looking for a platform where I could monetize immediately — no business registration, no revenue cut, no review process. Found one with over a billion monthly active users. Next episode: building SpeedTap on Telegram and earning the first $0.001 in ad revenue.

Next: Episode 2: Why I Moved to Telegram After Toss Hit a Wall →


More updates on the way. If you're working on something similar or found a smarter way to do it, drop it in the comments — the more we share, the faster we all move.

Disclaimer: This blog documents my personal learning journey. Nothing here is financial advice.

Comments