Inspiration

We built this project because we saw an opportunity to hone our skills and learn while solving a troubling problem we recently lived all over Spain. We wanted to use Bluetooth since it is a technology present in most (all?) smartphone manufacturers, allowing great interop between different brands.

What it does

Our app allows users to receive messages without using conventional internet connection, but instead P2P decentralized networks using Bluetooth Low Energy. Our attempt was to make the app as minimal as possible, avoiding unnecessary things that could distract the user or slow the performance of the app.

How we built it

We built it using Flutter and libraries for handling Bluetooth low-level protocol details, like ble_peripheral or flutter_reactive_ble.

Challenges we ran into

In order to achieve a smooth user experience, a theoretically big network, and low battery performance, connection-oriented Bluetooth (classic) was not an option. To run without any user interaction, we hacked BLE advertising packets, more specifically the manufacturer data field, where we could inject up to 20 bytes of data. BLE is limited by its throughput, and this particular approach by its small packet size, making it difficult to send and receive messages. We also had to split messages into different packets in order to send longer messages.

Accomplishments that we're proud of

We are proud to have produced a stable version to allow the vueling admins to communicate with the users about important events, all within the time constraints, using a hack of BLE protocol.

What we learned

We learnt about bluetooth technology, its opportunities and its challenges. We also got a deeper knowledge about how networks work and how messages are sent.

What's next for unblacked

If this project goes forward, it could work for all airports, given a bigger customer base and the correct infrastructure, BLE beacons and future technology improvements.

Built With

Share this project:

Updates