Tech stack

By Simon, 15 November 2020

Buy it, use it, break it, fix it, trash it, change it, mail, upgrade it

While we’re still very much “in development” I thought it might be interesting to write up the tech stack that’s in use today, if only as a historical record to compare back to in the future.

The site uses Flask in the backend, and Jekyll to render static content. For the initial phase of development, we’re avoiding databases in the backend - the content is not that dynamic, in fact its almost write once. Jekyll means we can pre-render the pages, apply changes to templates etc. easily. There are a few “interesting” templates that are being built, and that probably points to Jekyll not being a long term solution (Hugo looks interesting).

We’ve so far avoided a front end framework, though I expect that will be changing soon. That said, I’d like to keep any UI framework minimal, & standards based.

We’re trying to be privacy concious, and the architecture & use of Coil means we need to know very little about our audience, but also do want to understand some of what people are doing. To that end we’ve got Fathom* providing some “non-creepy” analytics.

The flask app is hosted on PythonAnywhere* which I stumbled upon, and have so far been very impressed with. There’s some work to do to better use their service (static assets, some scheduled tasks, maybe some further deployment automation) but for now it’s doing whats needed. It’s simple, it does what you need & gets out the way - winner!

The flask app is used to change how audio is served based on whether the listener has Coil enabled. To do this we’re using Vanilla to verify a payment stream, and some code that will be open sourced in the future.

Last there are some google forms/sheets & associated python scripts to pull data. These are used for expression of interest & artist sign up

* referal link