Why Buy a Beacon When Your Phone Already Is One

Every merchant needed two imported beacons just to accept payment and track visits. I found a way to skip the hardware entirely.
When Cashbac first rolled out its Beacon-based payment system, every merchant needed two physical beacons: one for processing payments, one for tracking store visits for analytics. Both were imported from Poland. For a platform trying to scale across thousands of outlets, from independent stores to chains like McDonald's, Alfamart, and FamilyMart, that meant real, recurring hardware cost for every single location, with no way around it if a merchant didn't already have a POS system like Raptor in place.
I started digging into how beacon technology actually worked, and realized something the setup hadn't been taking advantage of: a beacon signal doesn't have to come from a physical beacon. It's just a Bluetooth Low Energy broadcast, and Android phones can transmit BLE signals too, not just receive them. If that was true, there was no reason merchants without existing POS infrastructure needed to buy dedicated hardware at all.
So I built an Android app that did exactly that. The moment a bill was created, the phone itself would start broadcasting as both a payment beacon and a visit-tracking beacon, the same two signals the physical hardware used to handle, now coming from a device the merchant already owned. On the detection side, the app used Google Nearby Message to pick up beacons in range, checking each one against what was registered on the Google Beacon Platform before triggering a payment or a visit event. No imported hardware, no per-outlet cost stacking up as the platform grew.
It wasn't a clean win, though. BLE implementations are notoriously inconsistent across Android devices. RSSI (signal strength) values varied significantly from one phone model to another, which made reliable detection harder than it should have been. To keep the system usable even when automatic detection failed, I built in a manual fallback: merchants could enter the beacon ID directly if the phone-to-phone signal wasn't picked up cleanly.
It's the kind of fix that doesn't look impressive from the outside. No new feature, no flashy UI. Just a hardware dependency quietly removed, and one more reason a merchant without a POS system could still say yes to accepting digital payments.