Inspiration

Japanese has hundreds of onomatopoeia — fuwa-fuwa (fluffy), zusshiri (heavy), pika-pika (sparkling). Every native speaker feels the difference instantly, yet almost nobody can explain it. We wanted a party game built on exactly that gap.

Then we noticed something better: an LLM is very good at these words too. So we did not make the AI a hint system. We made it the opponent.

What it does

One player is given an onomatopoeia and writes a scene of 20 characters or less that evokes it. The other players guess the word — but so does an AI.

You win only if a human guesses right AND the AI guesses wrong.

That single rule changes how you write. Too literal, and the AI gets it. Too vague, and your friends miss it. You end up hunting for the narrow band of language that is human-shaped: shared memories, physical sensation, a joke only your group knows.

A solo player never has to wait for friends — empty seats are filled by AI, so a round starts instantly.

How we built it

  • Expo SDK 54 / React Native 0.81 / React 19, expo-router with typed routes
  • Supabase (PostgreSQL, Realtime, Edge Functions, Tokyo region) for rooms and turn state
  • Google Gemini for the AI opponent, called from Edge Functions so no API key ever ships in the client
  • RevenueCat for the in-app purchase

The game loop is server-authoritative: hints, deadlines, and scoring all live in Edge Functions, so a modified client cannot cheat.

Monetization with RevenueCat

Onomatope Pro is a one-time, non-consumable purchase — deliberately not a subscription. A party game you open a few times a month should not bill you monthly.

It unlocks the two things people ask for after a few rounds:

  • A stronger AI model. The free tier uses a fast model. Pro switches to a sharper one that reads hints noticeably better — so the game gets harder, which is the point.
  • 5x more words — the pool grows from 29 to 150, so you stop repeating.

RevenueCat handled entitlements, the restore path, and cross-device state, which let us ship the paywall in an afternoon instead of building receipt validation ourselves.

Challenges we ran into

The hardest problem was calibrating the AI so that beating it feels possible but never trivial. Too weak and the game has no tension; too strong and no hint survives. We tuned the prompt to answer like a fluent speaker without outside context, rather than like a model with an encyclopedia.

The second was latency. A guessing game dies if everyone stares at a spinner, so AI inference overlaps the countdown players are already watching.

Accomplishments that we're proud of

The AI is not a gimmick bolted onto a word game — remove it and there is no game left. The win condition only exists because there is a machine to out-write.

What we learned

Designing against a model is a different discipline from designing with one. We spent more time making the AI beatable than making it smart.

What's next for Onomatope

  • Higher-quality character voices
  • An iPad-native layout
  • More word packs, and a mode where the AI writes the hint and humans have to answer

Try it

Free on the App Store. No account, no sign-up — just a nickname.

Built With

Share this project:

Updates

Submission history