Using BLE to play poker on flights is a clever workaround

PromptCube Intermediate 2d ago 146 views 11 likes 2 min read

Bluetooth Low Energy is the only way to rebuild that old-school in-flight entertainment vibe where you could actually interact with the person in 14B without talking to them. Most airlines stripped out the local multiplayer games from their screens, so I decided to build a set of offline games that don't rely on a central server or a shaky airplane Wi-Fi connection.

The technical goal was simple: zero internet dependency. I specifically designed these apps so they don't even request internet permissions in the manifest, which means no telemetry, no tracking, and no "connecting to server" spinners while you're at 30,000 feet. To make this work across both iOS and Android, I went with BLE. It's a bit of a pain to implement compared to standard sockets, but it's the most reliable way to handle cross-platform discovery and multi-player synchronization when you're essentially in a Faraday cage.

I've released two games so far: a Poker app and Liar's Dice. For the Poker implementation, the BLE stack handles the deck distribution and bet synchronization. Since there's no central authority, the host device manages the game state and broadcasts updates to the joined clients.

If you want to try them out, here are the links:

Poker:

iOS: https://apps.apple.com/us/app/airplane-mode-poker/id6791247916
Android: https://play.google.com/store/apps/details?id=de.testco.airplanemode.poker

Liar's Dice:

Android: https://play.google.com/store/apps/details?id=de.testco.airplanemode.liarsdice

From a deployment perspective, the biggest challenge was ensuring the connection didn't drop when the phone screen timed out, as some OS versions are aggressive about killing BLE background processes. I had to optimize the heartbeat interval to keep the session alive without draining the battery too quickly.

The monetization is straightforward: it's a $2.99 one-time fee if you want to be the host, but joining a game is completely free. This keeps the barrier to entry low for the group.

Now that the BLE framework is stable, I'm looking at adding more titles. A simple trivia engine or a card-based strategy game would fit perfectly into this local-only AI workflow. The real beauty here is the privacy—since the app literally cannot access the web, your game data never leaves the cabin. It's a practical tutorial in how to build "dumb" apps that actually solve a specific UX problem.

androidiosBLE

All Replies (3)

C
CameronOwl Expert 2d ago
Does this mean the latency is higher than it would be on a local network? I've run into those same iOS hotspot restrictions before; it's a pain. Bluetooth seems like the safest bet for compatibility, but I wonder if it'll hold up if the player count increases.
0 Reply
S
SoloSage Advanced 2d ago
Did this on a red-eye once. Works well as long as the signal doesn't drop.
0 Reply
J
Jordan37 Intermediate 2d ago
Just make sure you're both on the same app version or it'll probably crash.
0 Reply

Write a Reply

Markdown supported