Sunsetting 100 Warm Tunas (for now)

Tuna swimming at sunset over the ocean

Triple J's Hottest 100 of 2025 is back, but after ~10 years of running my side-project 100 Warm Tunas, I've decided to wrap it up and not run it this year. Instead, I'll divert the time I would normally spend on this over summer to other side-projects.

Why? Because 100 Warm Tunas relies on data that these days is too difficult to obtain. 100 Warm Tunas uses screenshots that people post to social media of the songs they voted for. In the past, this data was plentiful, and easy to gather, but these days it's too difficult to get my hands on for numerous reasons;

  • Instagram's private APIs change every year, and I put a significant portion of effort into reworking the code that scrapes Instagram.
  • Instagram have implemented some very top-tier bot detection on their private APIs.
  • Instagram removed chronological hashtag search - you can only see "popular" posts now, so it's impossible to exhaustively scrape content for a hashtag.
  • Instagram removed story hashtags inside hashtag search, removing the ability to collect content posted to stories.
  • Changing of social sharing trends: People prefer private accounts these days, and prefer ephemeral posting, like stories.
  • For Twitter/X: they paywalled their API.

For the last ~3 years the site has relied on data submitted by voters directly, either via the website or via Instagram direct-message. This ultimately resulted in data skew, because only the most motivated/die-hard triple j listeners are providing their data.

Despite these challenges, the main reason that I've kept it going for the more recent years is the learning opportunities it has brought me. Over the last ~3 years it's been a platform where I've got to experiment with new (to me) things;

  • Migrating the previously static site rendered using Python and Jinja + Vanilla TS + Closure Compiler, to Next.js, offering a learning opportunity about Next and RSC, hybrid static websites.
  • Migrating my previously local data transformation pipeline into an RPC+worker-oriented Python FastAPI backend
  • Building and training an ML model to "correct for" bias seen in the data collected in more recent years.
  • Data analysis opportunities to dig into the results each year and provide write ups.
  • Data analysis opportunities to find ways to mitigate spammers submitting fraudulent voting slips to negatively impact the results.

Beyond the technical side, 100 Warm Tunas has opened non-technical doors:

  • Numerous radio interviews, including one with the ABC.
  • Coverage in countless articles that cited the predictions and analysis from top music news outlets.
  • Offers and invitations to collaborate on external content.
  • Offers to outright buy the project, IP, and website.

It'll be a shame to wrap it up, especially after putting in a large volume of effort over the last 12 months to modernise the platform, but I think the project's prime time is now over. I'm excited to see what new projects others spin up in this space and where they take it next. If you want to see what I'm tinkering with next, you can occasionally check in at nickwhyte.com or follow along on GitHub at @nickw444.