Inspiration

Every Japan guidebook tells you what to see. Nobody tells you what to do — and doing is where the memories are. Slurping ramen properly, braving a natural onsen, getting a deer in Nara to bow back: these are the moments travelers actually retell. So we turned them into a game.

What it does

Japan 100 is a collectible quest board: the same 100 hand-curated, uniquely-Japanese quests for everyone. Pick a quest, do it in real life, snap a photo as proof — and the app seals it with a red hanko stamp, the way Japanese documents are made official. Quests range from everyday commons (tamago kake gohan for breakfast) to eight gold-foil legendaries (climb Mt. Fuji). Every quest ships with an insider etiquette tip, so travelers get it right on the first try. When you're ready to brag, the app exports a share card of your board in 9:16 story or 1:1 grid format — your photos, your count, your proof.

Privacy is a feature: no accounts, no servers. Photos and progress never leave the device.

How we built it

  • React Native + Expo (SDK 57), TypeScript strict, Expo Router
  • expo-sqlite for local progress; photos stored in app storage only
  • 100 original ink-style illustrations in a strict three-color brand system (sumi indigo, vermilion, white on washi)
  • Reanimated for the hanko-slam completion moment
  • RevenueCat for the one-time "Unlock all 100" purchase: entitlement-based gating, localized price display from the live offering, restore purchases, and receipt validation — no server of our own

Monetization

Free-to-start with a hard content ledge: the first 30 quests are free, and the board makes the other 70 visible as locked gold cards, so the value of unlocking is always on screen. A single non-consumable ($19.99) unlocks everything — the right shape for a trip companion: no subscription guilt for a two-week vacation, and gifting-friendly. RevenueCat's offering is the single source of truth, so we can test prices and packages without shipping updates.

Challenges we ran into

  • Designing 100 quests that pass three bars at once: uniquely Japanese (impossible anywhere else), actionable (a quest you complete, not a sight you look at), and etiquette-safe (nothing that makes tourists a nuisance). Dozens were rewritten or cut.
  • A strict three-color illustration system across 100 pieces — including a deterministic color-normalization pipeline to keep every vermilion and indigo identical.
  • Keeping the share card and paywall honest: prices always come from the store via RevenueCat (never hardcoded), and the share image renders only what the user really collected.

Accomplishments that we're proud of

  • 100/100 quests illustrated, tipped, and shipped
  • A completion moment (photo → hanko slam) that people want to repeat
  • A privacy story you can explain in one sentence

What we learned

  • Constraints create identity. Three colors, one paper texture, one stamp — the strict brand system made 100 illustrations feel like one product, and made every design decision faster, not slower.
  • "Uniquely Japanese" is a harder bar than "fun". Our best quest ideas kept failing the test of "could you do this in Seoul or Taipei?" — rewriting until each one passed taught us more about our own product than any spec did.
  • Monetization is a design problem, not a checkout problem. The moment we made locked quests visible as gold cards on the board (instead of hiding them), the unlock stopped feeling like a paywall and started feeling like the rest of the collection.
  • Local-first is a feature you can market. "Your photos never leave your phone" ended up on our landing page hero — privacy wasn't a compliance chore, it was the pitch.

What's next for Japan 100: Collect Japan

  • Android release (RevenueCat is already wired for it)
  • Personalized boards (diet, regions, trip length) built on the same 100-quest spine
  • Seasonal quest packs (hanami, matsuri, autumn leaves)

Built With

Share this project:

Updates

Submission history