This is a fairly straight forward project. The Hardware is just one ESP8266 (I used a wemos D1 Mini) & and a strip of neo pixels (WS28123).
The neo pixels are connected to the wemos on Power, Ground and D4. The only trick if you can call it that is that the ESP is acting as a webserver and is hosting pages in SPIFFS - a simple files system that can be enabled on an ESP8266. I used this link to set my esp up -
I then made some html pages that use the bootstrap framework to make some colourful pages. The buttons in the pages are just links that pass query string parameters. Web the web server on the ESP parses the querystring, and controls the neo pixels accordingly.
I embedded the bootstrap files as we had no internet where we stayed at Christmas, and used the ESP8266 in AP mode. I used this link as a reference - https://www.techtinker.co.za/2018/08/28/fully-embed-bootstrap-into-an-esp8266-web-server/. But since we came home I switched over the code to put ESP8266 on my home wifi. The kids use my tablet to connect, and control the lights.
Like I said it is pretty simple, but a fun project neither the less. The only complaint came from my daughter - Daddy - "Why is there no button for purple?" - This has now been fixed.
A video showing how the lights work has been attached.
The source code is also uploaded and included.