This was really good. Shows what you can achieve with gameplay alone. A genuinely inspiring example.
The only thing I'm not sure about which feels like an intentional design decision (rather than just b/c of time) is the sheer number of waves - it dragged a little bit towards the end. But even that is probably mostly because of uniformity of assets/time limitations.
I'm curious to how much time you spent on the numbers / scaling between levels - did you have a mathematical formula approach to it, or was it just by feel? It worked really well, anyway (until the multiple sonics upgrades kicked in!) :-)