I have done it with NodeJS, HTML5, and OSC. I based my front end code on this project github.com/TheAlphaNerd/node-osc-kontrol . You then give each user a unique ID when the socket is opened and send that ID along in your OSC message.
The whole thing is cross platform but the standard Android browser isn’t great. Chrome is a better choice.