Back to work
Personal · Mobile app · 2025

Ti Pari

A mobile app for bets between friends — virtual tokens, no real money. The idea came to me around a table: we were already betting on everything, the app was the only thing missing. You launch a bet, invite your friends, everyone stakes their tokens, loser pays winner. Simple, a little silly — and I own that.

Flutter Dart Firebase Firestore Cloud Messaging
Challenge

Bet between friends without ever handling real money — and avoid the post-bet awkwardness of "who lost, who pays".

Approach

Flutter + Firebase + FCM for notifications. Virtual tokens, a designated judge settles the bet at the end, bet history and leaderboard between friends.

Outcome

Private beta within a friend group.

01Context

The bet, without the money

Among friends, we bet all the time — who arrives first, who finishes their plate, who guesses the score. I looked for the app that covered this without drifting into sports betting or lotteries. It didn't exist. So I made it. Ti Pari holds the line: virtual tokens, no real money, no algorithmic odds, no designed addiction.

02What I built

A group, a bet, a judge

  • Bet creation — free-form title, two options (Yes/No or A/B), per-player stake, deadline, and a designated judge who rules at the end.
  • Friend invites — via Firestore, your contacts get a push, see the bet, pick their side, stake is locked until the deadline.
  • Token system — virtual tokens bought in-app or won from winning bets. Zero real-money conversion — it's just a pride counter.
  • Judge resolution — at the deadline, the judge picks the outcome, tokens get redistributed automatically via a Cloud Function.
  • History — past bets, winners, per-friend stats (how often you beat them, by how much).
03Design choices

Dark UI, light tone

Deep blue background, emerald green accent, gold for tokens — the "pocket casino" aesthetic, fully owned. But with copy that's deliberately silly ("Will Maxime finish his XXL burger?"). Every bet is a little story the group writes for itself — I just handed them the pen. In short: the goal is for every bet to get a laugh, not a win.

04Stack
FlutteriOS + Android
DartMain language
Firebase AuthEmail, Google Sign-In
FirestoreReal-time database
Cloud FunctionsBet resolution logic
FCMPush notifications