Nice work. Although I'd probably had used one of the newer esp32 from seeed Studio with integrated battery pads (unfortunately the BatteryPal from PNLabs is still in the making). A DFPlayer Mini might also habe saved some time...

There also is a german project called Tonuino, which is quite similar and has lots of examples and documentation - they even designed a custom PCB which unfortunately is no longer available:

https://github.com/tonuino/TonUINO-TNG

Another rasperry focussed project that has a web interface is Phoniebox:

https://phoniebox.de/index-en.html

There also is a toniebox hack, which lets you setup a self-hosted content server:

https://gt-blog.de/toniebox-hacking-how-to-get-started/