What did we make?
We made an Android app using the Google Nearby Connections API to communicate boarding pass data over a Bluetooth mesh network. An attached admin console, built in React + Next.js, allows airport staff to register new passengers at check-in and validate them at the gate.
Tech Stack!
📊 (Database) – PostgreSQL on Supabase
Hosted locally at the airport on staff computers.
📱 (Mobile App) – Kotlin
Easy to deploy on Android devices.
📻 (Bluetooth Library) – Google Nearby Connections API
Already prebuilt into all Android devices.
🖥️ (Staff Interface) – Next.js with React.js
The best language for vibe coding.
Architecture
A staff phone acts as a gateway between the Bluetooth mesh network and the admin panel.
Right now, the admin panel and database are hosted in the cloud. In a real deployment, they’d be hosted locally on battery-backed machines — because during a power cut, you won’t be able to hit the internet.


^Nice Architecture
What inspired us to make this?
Spain’s power cuts this year:

When our local Heathrow Airport shut down for a whole day:

For airports without backup generators, the only fallback is to shut down or revert to pen and paper.
We think our solution provides a better option.
What problems did we face?
We struggled to convert the peer-to-peer channel offered by Google Nearby Connections API into a functional mesh network.
To fix this, we wrote custom bouncing rules for retransmission. Two key safeguards:
MAX_HOPS: Ensures packets die after reaching a propagation limit.HASH_LIST: Prevents packets from endlessly bouncing back and forth.
We also had privacy concerns — broadcasting all boarding passes isn’t ideal.
Our solution: encrypt all boarding cards using a combination of your surname and flight number — a method already used by airlines. Your phone can then decrypt your own boarding pass.
What Challenges are we going for?
- Vueling Airlines Challenge
- GoDaddy Domain Challenge



Log in or sign up for Devpost to join the conversation.