What this site is

Content Tracker is a personal media watchlist and analytics dashboard. It exists to answer a simple question honestly: what have I actually been watching, and what does the pattern look like once it is measured? One person's viewing history is recorded properly, then turned into titles, hours, genres, platforms and year-over-year comparisons.

It is not a catalogue of everything that exists, a ratings database, or a recommendation service for other people. A title is in the list because it was watched, and the figures describe that list rather than an audience.

Why it exists

The tracker began as a Google Sheet: one row per season of television, or per film, filled in after watching. A spreadsheet stores rows well and answers questions badly, so a dashboard grew on top of it. The rows then moved from the sheet to a managed Postgres database, and finally to Cloudflare D1, which is where they live today. The dashboard is the part that was always the point: the same rows, asked different questions.

Keeping the history has a second use. Because every entry carries a date, the site can say what a year actually looked like - which months were heavy, which service earned the most hours, whether this year is ahead of or behind the same months of the last one. That needs complete history rather than a snapshot, which is why the older rows were recovered and imported field for field when the database moved.

What it tracks

Each entry records a title, its season, whether it is a film or a series, its genre, the streaming platform it was watched on, the episode count, the screentime in minutes and the watch date. Around 380 entries are stored. Seasons are separate rows, so a show watched across four seasons counts as four entries and its total screentime is the sum of those rows.

Only viewing data is stored. There are no visitor accounts, no profiles, no advertising and no analytics scripts. The local storage the page uses is listed on the privacy page, along with the third parties that supply media metadata.

How it is built

The site is a static HTML shell, a vanilla JavaScript application and a stylesheet, served by Cloudflare Pages. A Pages Function under /.netlify/functions/* answers the data reads and the admin writes, backed by a D1 database. Film and episode metadata come from TMDB and TVmaze, streaming arrivals from the Watchmode release feed, and ratings from OMDb; each is fetched server-side and cached. Charts are drawn with Chart.js, which is vendored rather than loaded from a CDN. There is no build step and no tracking script.

Every page also has a Markdown representation for agents and crawlers, and a public JSON endpoint exposes the watchlist. The llms.txt file explains when the site is worth using and how to call it.

Who maintains it

Content Tracker is built and maintained by Parth Shirish Soni, a data analyst based in Dublin, Ireland, who works with SQL, Python, Power BI and Tableau and builds small, finished data products like this one. The code is public at github.com/parth-soni-10/ContentTrackerDashboard, the professional profile is on LinkedIn, and other projects are at parth-portfolio-wb.pages.dev.

Last updated: 21 October 2026.