Human Interface Device

Puck.js isn't just beacon. It can be a Bluetooth LE HID device too -
a keyboard or multimedia control. It can then create keypresses in
response to external stimulii, which could be a button press,
a door opening, even another Bluetooth device coming within range!

Infinitely customisable

Unlike many beacons that perform a fixed task, Puck.js executes
JavaScript directly. It can be whatever type of beacon (Eddystone/iBeacon)
you want, can automatically update what it transmits depending on external factors,
and can even add custom services and characteristics.

But it gets better! Puck.js can connect to other BLE devices in
'central' mode as if it were a phone, and can even receive other devices' advertisements!

Proven Software

Puck.js uses the Espruino JavaScript Interpeter - now installed on tens of thousands of devices, with thousands of users.

With a common API between devices, you can move your project over to other Espruino platforms (like WiFi) with minimal effort!