How to Find What to Watch

On and off over the last couple months I’ve been putting together a collection of fun/goofy tools that my girlfriend has asked about. As a test of my new fondness of the FARM stack, I’ve rebuilt the project in React, using FastAPI and MongoDB for the backend.

It’s located at rachelscoolshit.com because I miss the days of ebaumsworld and newgrounds and all the silly sites that existed in the early 2000’s when the internet was fun and not trying to sell you something at every page load or interaction.

Movie Tracker

The main ‘tool’ that has driven the development of everything is a movie tracker where you build a watchlist and then can see which streaming services have each title. Since we rotate through our streaming services as new seasons of shows release it’s been a nice way to find random movies or shows here and there as they cycle through the various sites. I use a couple different data sources for this one, but while I really liked my Go implementation I’ve actually liked separating the frontend and backend out more. I could definitely have just made a Go API that my frontend would access (and for a period of time that’s what I did) but since I’m caching quite a bit of data from multiple sources it’s nice to just throw it all into a Python dict and dump that into mongo. I know I said like three months ago that I appreciated that Go made me define structs for everything – I still define all the models in FastAPI but it’s a bit easier to go to and from JSON without marshaling and unmarshalling.

Having the frontend on Netlify (for free!) and a small compute instance on AWS talking to MongoDB’s free tier means all of this is basically free. Maybe someday I’ll abstract the backend routes to AWS Lamba and upgrade the Mongo instance to get enterprise stability for less than the interest you’d get in a traditional savings account.

Dogs Wall

The second tool that is up is just an infinite scroll of puppies. From unsplash. Updated daily.

There are repeats, there is plenty of optimization left on the table, there are a bunch of things I don’t like, but it works.

And puppies.

Leave a comment