Designing an analogue project is a challenge over a digital only project. When laying out the board it is important to consider how digital noise will affect the output, and where signals pass. Asking experts and reading references recommends centralising a separate analogue ground plane or, as I have done, keeping the ground plane solid and keeping digital switching components separate from analogue components.
The process of design has uncovered principals that I didn't know about at the start, such as needing headroom on the supplies for an OpAmp. Rail to rail is a marketing term, that doesn't really exist.
Also, feature creep is a thing. Over the past year I have separated AC and DC biased outputs, added SPI EEPROM or RAM for fast storage, and finally implemented a microphone input circuit. All of which will make the result better, but each one takes an iteration to build and test.