Sometimes when I’ve had a break from personal tech projects for a while I want to get back into the saddle but don’t want to commit to something massive. I want a bite-sized, single evening project with a definite output and often a Twitter bot is the perfect creation to fill that niche. Once you have the basic formula down pat, the process is pretty easy, with most of the hassle being in convincing Twitter to give you developer access if you want to go the manual route.
TL;DR: Aural - Sound Of Twitter changed hosting and stream!
Well! A bit changed since last post. Most prominently: yesterday I received a missive from AWS, a preset alert that I was going over my established high water mark for expected bill this month (not even halfway through!). It looks like running API Gateway for websockets is spenno. Not hugely expensive, but in less than a week it was already $5, over half my AWS spend and looking to be way more expensive than hosting on an existing VPS.
TL;DR: Aural - Sound Of Twitter
After my last post discussing building a local site that lets you “listen” to Twitter, I decided to put it on the public-facing internet. But rather than just whack it on a VPS I decided to expand my horizons by putting a bunch of components through AWS.
My desired setup was:
Static website with AWS Amplify that could talk to; An API Gateway configured for websocket that would register connections and disconections via; Lambda serverless functions that would update; DynamoDB which would receive connection info and new tweet notifications and stream the latter to; Another Lambda which would read the DynamoDB for live connection IDs in API Gateway and let them know a tweet had arrived.
One of my favourite sites, for years, has been Listen To Wikipedia, a soothing project in the idea of beauty and art coming from systems. Years back I set up the [Holiday by Moore’s Cloud] lights with a script that would automatically hook into the streaming of Wikipedia edit notifications and change in time to them, and the music if the web app was open concurrently.
I decided to use this platform as inspiration for a creative coding exercise, receiving input notifications from some popular streaming API and turning them into a soundscape that you could tune into.