Let’s build a Twitter-Spaces Recommender System!
I tried out a few different twitter spaces and realized that I really enjoyed the experience.
It's feels like going to a meetup, without having to leave your home.
I could imagine this feature of the platform becoming really popular over time: 1. authors could do public readings, followed by real-time Q&A from across the world 2. companies could do earnings announcements etc.
Lots of really cool use cases...
What it does
I wanted to build a system that would recommend Reputable and Relevant spaces based on the users interests.
I had some requirements for the App:
It must run automatically in the background, and be fully algorithmic! No babysitting, with no manual curation!
The algorithm should be clear and transparent! No Black Boxes!
No External Dashboards / UIs ... it should live on twitter.com!
It must recommend content that is both Reputable and Relevant
It must recommend content from all of Twitter, and not be limited by who the user follows
Recommendations shouldn’t be overwhelming - let's just show the top-5, and update it continuously throughout the day
How I built it
Docker + Python + Sanic (asyncio web-server)
I built my own twitter v2 asyncio client from scratch (including OAUTH2)
Challenges I ran into
Once I found the top spaces that I wanted to recommend, I had no place to show the recommendations...
I decided to save the recommendations as bookmarks, so they wouldn't disturb the user, and they could check them at their leisure
Accomplishments that we're proud of
It works, and the results are pretty good!
What we learned
It was actually pretty easy to build
What's next for Space Cadets
Waiting for an endpoint for the captions generated by the spaces, lots of interesting data analysis there...