← Back to projects
Peekaboo Party app icon
PROFESSIONAL PROJECT · ANDROID & iOS

Peekaboo Party

Guess whose photo it is.
Your camera rolls, unfiltered.

A party game for 2 to 12 friends. Every round, each player's phone picks a random photo from their gallery — and everyone else has to guess who it belongs to. Embarrassing screenshots, forgotten selfies and that one blurry concert video thumbnail: all fair game.

COMING SOON TOGoogle Play How to play ↓
◎ 2–12 players/Same Wi-Fi or online/10 languages
01 / HOW TO PLAY

Four steps, zero rules to learn.

One person creates a room, everyone else joins with a QR, a code or a WhatsApp link. Then the host hits start.

21:38●●● ▮
Your room
ROOM CODEKX7P3M
Invite ↗
Players · 4
  • JJorge Host
  • LLucía Ready
  • MMarcos Ready
  • AAna Choosing album…
Start game
01

Create a room & invite

Play together on the same Wi-Fi or hotspot (no mobile data needed), or online from anywhere. Friends join by scanning the QR, typing the 6-character code or tapping an invite link.

Each player picks the album their photos will come from — nobody else ever browses your gallery.

21:41●●● ▮
Round 2 of 5
Your photo

Only you can see it. Send it or skip it.

🍝IMG_2041.jpg
Skip (2)
Send
02

Get a random photo

Every round the app draws a random photo from your album. Only you see it first: send it to the table or skip it if it's a bit too personal — you get a limited number of skips per game.

The host sets the number of rounds and skips before starting.

21:42●●● ▮
Whose is it?

Tap each photo and pick its owner

🍝Lucía
🐈Marcos
🏔️?
🎂❤️
JLMA
Send votes
03

Guess the owner

All the photos land on everyone's screen at once. Match each one to the friend you think it came from, and give your ❤️ to your favourite photo of the round.

Votes stay hidden until everybody has sent theirs.

21:49●●● ▮
👑
Lucía wins!
M9
L12
J7
  • 1Lucía12 pts
  • 2Marcos9 pts
  • 3Jorge (you)7 pts
  • 4Ana5 pts
Play again
04

Reveal & crown a winner

Each round ends with the reveal: who owned each photo, who guessed right and who collected the hearts. After the last round, the podium decides who knows their friends best.

Then it's straight into the next game — the room stays open.

Screens shown are illustrative mockups recreated from the app's interface.

02 / GAME MODES

Two ways to play, two places to play.

The host chooses the mode in the room before starting.

📸MODE

Classic

Random photos from everyone's album. Guess whose each one is and heart your favourite. The original Peekaboo Party.

💬MODE

Phrases

A prompt appears — “The cover of my autobiography” — and everyone picks the photo that fits it best. Then vote anonymously for the winner. Prompts come from a family pack, a cheekier pack, or are written by the players themselves.

📶CONNECTION

Together

Everyone in the same place on the same Wi-Fi — or on the host's hotspot. The host's phone runs the room locally, so it uses no mobile data at all.

🌍CONNECTION

Online

Each player from wherever they are. Share the invite link on WhatsApp and play over a video call. Drop-outs reconnect automatically and keep their points.

03 / SCORING

How points work.

Simple enough to explain mid-party.

CLASSIC
  • +1 for each photo you match to the right owner
  • +1 for each ❤️ your photo receives
  • +2 bonus for a perfect round (every photo right)
PHRASES
  • +1 for each vote your photo receives
  • +2 bonus for the most-voted photo (ties included)
🔒

Your gallery stays yours

No accounts and no cloud gallery. Photos only come from the album you choose, you see each one before anyone else does, and you can always skip.

04 / HOW IT'S BUILT

Under the hood.

Designed, developed and shipped solo — from game logic and real-time networking to backend, localisation and store release.

◱01

Cross-platform app

One Flutter codebase for Android and iOS, state managed with Riverpod, light and dark themes.

FlutterDartRiverpodgo_router
⇄02

Real-time rooms

The host's phone is the referee; others render its state. Local play over WebSockets discovered via mDNS, with a 30 s reconnection window.

WebSocketsmDNSQR
☁03

Online backend

A Cloudflare Worker with Durable Objects relays each online room, and serves invite links, the website and Android App Links.

Cloudflare WorkersDurable ObjectsTypeScript
€04

Product & release

AdMob ads between games, a one-off “remove ads” purchase that frees the whole room, 10 languages and automated tests with bot players.

AdMobIn-app purchasesi18nTesting
PEEKABOO PARTY

Coming soon
to Google Play.

Want to know more about how it's built, or try a test build before release? Drop me a line.