In testing, this configuration runs for about an hour before needing to be recharged.
A print of the spiral vase rose (see link above). Full size will work, but I think the 7cm with no bottom is a better fit for the 50mm LED ring. I used transparent PLA which worked really well; natural or white would probably work OK too.
ESP8266
Flash the ESP8266 with a recent MicroPython firmware, and deploy the supplied files main.py and colourwheel.py to the board. Connect GPIO5 (it's labelled D1 on my board) to the Data In (DI)of the LED ring. The ESP8266 lives inside the base, while the LED ring fits into the slot on the top. Position the LED ring's solder pads over the cable slot so that the wires can easily run into the base.
Wiring - USB
Connect the negative wire from the USB socket (typically black) to the ground of the ESP8266 and the LED ring. Connect the positive wire (typically red) to one terminal of the rocker switch. Connect the other terminal to the 5V pin of the ESP8266 (often labelled Vin) and to the 5V pad of the LED ring. That's all!
Wiring - Rechargeable
Connect the negative and positive wires from the USB socket to the IN- and IN+ respectively of the TP4056 board. On my board they were either side of the MicroUSB socket.
Connect the positive and negative terminals of the Li-Ion rechargeable cell to the B+ and B- pads respectively on the TP4056 board. Take extra care here: reversing the polarity may damage the board and/or the cell, possible with unpleasant consequences (like toxic smoke and fire).
Connect the OUT- and OUT+ terminals from the TP4056 to the IN- and IN+ terminals, respectively, of the DC-DC boost board.
Connect the OUT- terminal from the boost board to the grounds of the ESP8266 and the LED ring.
Connect the OUT+ terminal from the boost board to one terminal of the rocker switch. Connect the other terminal of the rocker switch to the 5V pin of the ESP8266 (often labelled Vin) and to the 5V pad of the LED ring.
Final Assembly
Before proceeding further, test to make sure everything is working. The LED ring should produce warm, gently swirling/pulsing patterns. It is quite bright to look at directly, you may find covering it with a sheet of paper helps.
Once you are satisfied that everything is working, hot-glue the LED ring neatly into its slot. Fit the USB socket and rocker switch into the base, and then hot glue the ESP8266 (and, if necessary, the TP4056 board and DC-DC boost board) into the base. Mine was rather untidy, as I left my wires too long (as usual). But when the base is set upright, my spaghetti-wiring is totally invisible.
Glue the spiral vase rose onto the base, centred over the LED ring. Hot-melt glue would probably work fine; I used contact adhesive/cement as I tend to be a bit messy with the glue gun and didn't want messiness on the visible parts. And you're done!