Bollywood night, in your pocket

Desi Party Games was built for exactly one WhatsApp group - mine. That turned out to be the most useful product decision I made.

Vue 3Socket.ioParse ServerMongoPWA

The Desi Party Games homepage - cream paper, hot pink and yellow, a torn-paper logo and a SIDE A VOL.1 cassette.

Every desi gathering eventually arrives at the same beautiful argument. Which film was that song from. Who played the side character. Can you say that dialogue in one breath. That back-and-forth doesn't need an app to exist - it has been running fine for decades without one. I just thought it might be more fun with a scoreboard.

So Desi Party Games is a set of quick Bollywood games for a room full of people holding phones. Eleven are live - Dialogue Baazi, Scene Spotter, Poster Phaad, Jodi No. 1, Filmy Bingo and the rest. Two to sixteen players. No ads. No sign-up. No download.

Rooms, not accounts

The entire onboarding is: open a link, type a handle your friends will recognise, you're in. No email, no password, no verification step. If you can't be bothered to think of a name, it suggests one.

This wasn't laziness about auth - it's what the setting demands. The product runs in the ninety seconds between "let's play something" and everyone losing interest. An email verification flow doesn't survive that window. Neither does an app-store download. A room code shared into the group chat does, because it's the thing people were already doing.

The corollary is that there's no matchmaking, and that's deliberate. Rooms are friends-only. Half of what makes these games funny is that you know the person you're accusing of cheating. A stranger lobby would be a different, worse product that happened to share a codebase.

The realtime part

Under it: Vue 3 with Vuex on the front, Express with Parse Server and Mongo behind, and Socket.io carrying the live room - join, ready, start, answer, reveal, score.

The neat trick, and the bit I'd reuse, is that the socket doesn't have its own auth. A player already holds a Parse session token from picking their handle, and that same token is what the socket handshake presents. One identity, two transports. No second login concept to keep in sync, and no window where the HTTP session and the socket session disagree about who you are.

Pick a handle no email, no password Parse _User session token one identity HTTP ยท Parse API rooms, scores, profile Socket.io handshake live round events two transports
The socket has no auth of its own. It presents the token the player already holds, so the HTTP session and the live connection can never disagree about who you are.

The public pages - home, about, FAQ, legal - are pre-rendered to static HTML, so the marketing surface is indexable and instant even though the game itself is a live socket app.

Desi Party Games on a phone - the whole product is designed for a hand, in a room.
Eleven games, no ads, two to sixteen players - and no account anywhere in the flow.

Designing for a loud room

This is where building for a specific group paid off. Playtesting wasn't a research exercise, it was a Sunday evening with actual relatives, and it killed several ideas quickly.

  • Rounds have to be short. Anything over about a minute and the room's attention is gone.
  • Nobody reads instructions aloud. If a game needs explaining, it needs redesigning. The first round is the tutorial.
  • The screen is a scoreboard, not a stage. The funny part happens in the room. The phone keeps score and gets out of the way.
  • Late joiners are normal. Someone always walks in three rounds late. Handling that gracefully mattered more than any feature on my list.

For when there's no room

The obvious gap: most of the time you're not in a room with seven friends. So there's Daily Filmy

  • four byte-sized challenges, one question each, the same for everyone that day, with streaks and a spoiler-free share card. It climbs a ladder from Spot boy to Dhurandhar, a joke that lands instantly with the audience it's for and needs a paragraph of explanation for anyone else. That's roughly the whole design philosophy in one detail.

Where it is now

Eleven games live, more built and waiting, and a steady trickle of people finding it without me doing much about it. It's fan-made and independent, it costs nothing to play, and it exists because a WhatsApp group needed a scoreboard.

If you build for everyone, you get something nobody's excited about. Building for sixteen people I actually know gave me something specific enough to be worth playing - and, as it turns out, specific enough to travel.