-
-
Every quest ships with an insider etiquette tip, so travelers get it right on the first try.
-
Your board exports as a 9:16 story or 1:1 grid share card — photos, count, proof.
-
The quest board: 100 uniquely Japanese challenges, the same 100 for everyone.
-
Free to start. One purchase unlocks all 100 — a single non-consumable powered by RevenueCat.
-
Complete a quest with a photo — it becomes the card, sealed with a red hanko stamp.
-
Thirty quests are free up front; rare and legendary gold cards wait at the deep end.
-
App icon, 1024×1024. The 百 (hyaku, "one hundred") hanko seal.
-
Raw screenshot without device frame, 1179×2556. The board mid-trip: photo cards sealed with hanko stamps.
-
Raw screenshot without device frame. Quest detail with its etiquette tip.
-
Raw screenshot without device frame. The share screen with the story-format board card.
-
Raw screenshot without device frame. Where the free quests end and the gold cards begin.
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
- expo.io
- react-native
- reanimated
- revenuecat
- sqlite
- typescript
Log in or sign up for Devpost to join the conversation.