Inspiration

I've always been a fan of random data. Some years ago I've started tracking all the movies I watched with a friend of mine in a spreadsheet, just to know how many hours we've spent in our whole life watching movies.

A couple of years after, I wanted to check more data, like yearly hours, what's the biggest amount of time I dedicated to one single movie, and of course I wanted to add TV Shows as I'm also a big fan of them.

Keep track of everything in one spreadsheet was a pain in the ass, and at the time I was looking for an idea to kickstart a personal side-project, so I decided to start Framecount.

What it does

Framecount allows you to track your watched movies and TV shows, in a pretty similar way other platforms like IMDB or LetterBoxD do, but with the twist that it focuses on not only watched movies, but when and how many times those movies have been watched, so you can build a curated and precise dashboard with all the data about the time you've spent watching movies in general.

On top of that, Framecount is a platform that help you find and track the movies you want to watch, get information and recommendations and also has some small social features that let you share your stats with other people publicly.

How I built it

I started with a small prototype using TMDB API and localStorage, and then I migrated to NextJS and added my own database, which is still growing nowadays, with the goal of decoupling from TMDB one day and become a standalone platform.

Challenges I ran into

The biggest challenge is managing costs. Movie platforms rely a lot on images and API requests to keep track of everything, and since I didn't want the deployment to become an extra challenge, I decided to use well-known platforms like Vercel or NeonDB, which can be very expensive if you're not careful. At some point, I got a huge number of requests from bots and crawlers, and I needed to manage WAF, rate limits and firewalls to make it scalable, everything while the bots were consuming 10-15$ daily, and I had to learn and apply fixes while the app was live in record time.

Accomplishments that I'm proud of

The thing I'm most proud of is the UX. Framecount is designed to be easy to use and appealing. There are no ads, no distractions, and it is ready to work in all kinds of devices. I put a lot of effort in creating a good UX, as I felt that was one of the missing things of the apps out there, and the attention to detail is my personal signature in the projects I work on.

What I learned

Main learning: I'm able to ship a real product that people can use!

Other learnings:

Maintaining and scaling a project that people use is costly, not only in terms of money but also in time. I have to respond for the service as other people is using it, track the data, ensure the system is healthy and track the costs to not incur in surprise bills at the end of the month.

I love to build products, and I love when people tell me the product is good and they like it!

What's next for FRAMECOUNT

The "big" next steps are creating a recommendation system based on the movies/shows you watched, that works good and help you find the next movie/tv show to watch, and become a centralized platform to share and find movies.

Along the way, I'd like to figure out how to decouple completely from TMDB, while having a consistent and good rating feature so people can rely on the rating FRAMECOUNT offers, in a similar way Rotten Tomatoes do.

Built With

Share this project:

Updates