Connect this page to a broadcaster
const sc = SimonSays.connect({ code, name });
sc.on('status', s => …) // waiting → approved
sc.on('event', e => …) // raw events (optional)
The "app" below knows nothing about SimonSays
It only uses standard web APIs. Remote events arrive through them as if this device had the hardware.
new NDEFReader().onreading
—
'devicemotion'
—
'deviceorientation'
—
geolocation.watchPosition
—
navigator.getBattery()
—
new Gyroscope()
—
navigator.getGamepads()
—
'keydown'
—
getUserMedia({ video })
getUserMedia({ audio })