RIP: The Crunchyroll Random Button
Many years ago, anime streaming service Crunchyroll introduced a great and terrible new feature. At the top of the page was a button that would take you immediately to the first episode of a randomly selected anime. If you know anything about anime and the types of TV series that might appear after clicking this button, you know that it is a dangerous proposition.
The button appeared sometime in 2014 or 2015, but when Crunchyroll launched its new interface as a beta in 2021, the ominous dice icon was gone. While the back end API still exists and you can redirect to a random anime by entering the link directly, the random button is no longer a prominent feature on the site. I know there are people who want this feature, as you can see from this TikTok user.
The AniMonday Podcast
My friends and I rolled the dice on the Crunchyroll random button for a few years, and in 2018 my wife and I started The AniMonday Podcast. The entire premise for our show was to subject ourselves to a randomly selected anime, and the Crunchyroll random button was the star.
When I discovered that the button would be phased out, I set out to see if I could develop my own solution to randomly select an anime. Outside the bounds of the Crunchyroll catalog, I knew could generate even more outlandish suggestions.
Building an Anime Randomizer
My solution was randime.moe.
The Kitsu API
Kitsu is a popular discovery platform to search for anime by genre, content, target audience, themes, and more. At its core, Kitsu is a database that draws connections between different elements of its content, pulls in viewer ratings, and allows you to manage a personal library. For developers, they offer a full-featured JSON API to perform searches and manage a user’s library.
Kitsu offered the most flexible API to accomplish my task.
The Randomizer Interface
I built Randime a couple years ago, but recently rebuilt it from scratch using the Next.js App Router and Tailwind CSS. It now exists as a standalone website rather than one tied to the podcast.
The interface is meant to be simple and repeatable, with a handful of checkboxes to allow you to select what streaming services you have access to. You can then jam the "Randomize" button as much as you want until something looks interesting. This instant feedback and repeatability sets it apart from other randomizer services, including Crunchyroll’s own feature.
In addition to the randomizer, Randime keeps track of previous rolls in a "History" page so that you can always go back to a permalink for something you came across recently. If something really stands out, you can add it to a watchlist that is saved to localStorage
.
The Back End
The randomizer API is a two-part integration with Kitsu. The first request simply reaches out to determine how many total entries match a user’s randomizer settings. With this number in mind, we randomly generate a number within that range and return details on that entry.
To fulfill a permalink, we simply use the anime ID in URL params to grab details for that particular anime series or movie.
Next Steps
The localStorage
solution for keeping a watchlist is simple to implement and requires no authentication from the user. This is a great way to keep track of things for users who just want to quickly generate some ideas, but some users might prefer to sync random selections to a centralized account. I plan to add integrations with Kitsu and MyAnimeList to add randomly generated titles to users who are authenticated with those accounts.
Aside from that I’m just hoping to generate some buzz around the idea, and maybe draw new listeners to the AniMonday backlog!