Hey Shaun -
Great question + glad you're enjoying the app.
Honestly, the main reason for the fixed length is because it was a bit easier for me to wrap my brain around when I was writing the code... and made it faster to get the record input functionality in there. The app allocates the memory for the input waveform up front, which makes it slightly less tricky to handle the situation of potentially running out of RAM. The way I wrote the sound resizing code also was a bit more conducive to having a fixed waveform.
I definitely understand what you are saying though and would love to have the option for waveforms continue to expand rather than loop. I'll spend some more time thinking about how the code could be adapted to handle that.
Best,
Chris