Based on some further research, here's what I've settled on:
- VueJS PWA. I've built lots of stuff with this framework, tried and tested.
- TailwindCSS for styling. I've wanted to play with this for a while.
- Postgresql DB. Again, an old favourite.
- Graphql backend powered by Hasura's platform. Never used it before, and it's still in beta. Risky, but I'm going to do it.
- Browser extension, initially focus on chrom(e|ium). Never built an extension before, but the chrome developer docs look great.
- Howler.js for managing programmatic audio playback.
- AWS Cognito for user authentication. I've included it in the spec for other projects but never used it personally.
- AWS S3 for audio storage. Solid, affordable, and supports the content-range header.
I also went off down the rabbit hole of looking at DASH (Dynamic Adaptive Streaming over HTTP), and cool as the tech is, I don't think it's appropriate for this project.
On a typical project I'd start by designing the data model next, however I'd actually like to start with creating UX mockups for this project to experiment and see how that workflow goes.
So off to Figma we go!