InDare icon
iOS appGame for couplesSolo project

In
Dare

Truth or dare for two. You set the limits, the app deals the night.

Get it on the App Store18+ · Free with in-app purchases
InDare App Store posterInDare modes and mini games
800+
dares and truths written
11
languages on the App Store
7
branching story quests
5
intensity modes

Inside the app

Consent is the first screen, not a setting buried in a menu. Couples choose their intensity and their props, and every card after that is drawn from what they said yes to.

Set the rules first
Set the rules first
Two couples never want the same night. Modes and props are picked up front, and the deck is filtered from there.
One card at a time
One card at a time
Names go into every card, a timer runs the turn, and skipping is always one tap away.
Strip Roulette
Strip Roulette
A mini game that tracks what each player is still wearing and never repeats a piece.
Shake the dice
Shake the dice
Two dice — an action and a body part. Rolled by shaking the phone, with haptics on the landing.

Quests

The part that turned a card deck into a game. A quest is a short branching story: each scene ends in a choice, the choice decides the next scene and the task that comes with it. Seven of them ship in every language, authored as data so a new story needs no release.

Saving AphroditeCurse of PassionRoman OrgyThe JungleMassage ParlorInterrogation with BiasAdvice of a Friend
InDare quest intro screenInDare quest task screen

Eleven
languages

Eight hundred cards is a content problem before it is a code problem. The library lives outside the app: I write and tag cards in an admin panel I built, a translation pipeline carries them into every store language, and the app pulls the result. Adding a mode or fixing a line does not cost a release.

EnglishSpanishGermanFrenchItalianPortuguesePolishDutchSwedishCzechTurkish
InDare punishment screen

What I did

  • Built and shipped the app solo — App Store listing, releases and support included.
  • Designed the content model: modes, props and player names feed a filter that builds each deck at runtime.
  • Wrote the quest engine — branching stories where a choice decides the next scene and its task.
  • Built an internal admin panel so the card library is edited without an app release.
  • Set up a translation pipeline that carries the whole library into 11 App Store languages.
  • Wired RevenueCat for one-time unlocks, plus Sentry and analytics for crash-free releases.
React NativeExpoTypeScriptRedux ToolkitZustandReanimatedRevenueCatSentryReact + MUI admin panel
Next project
QuickToon