Case study: MALgraph

Scratching an itch for statistics

MALgraph is an open source web application working in tandem with a user's profile on MyAnimeList (MAL)—a website for creating lists of animated Japanese shows/movies or completed comics and light novels.

Once one's MAL username is entered, MALgraph shows detailed analysis, statistics and recommendations based on the specified user's anime and manga data.


  • UX/UI designer
  • Community manager


  • 2011–2015


  • 2 people


  • 200 000 users
  • Impact on rating behavior
  • New monetization paths
  • 140+ stars and 40+ forks on GitHub

The problem

On a 1–10 scale, people tend to give very high ratings to mediocre shows, sometimes not even using the bottom half of the scale. As a result, average scores have noticeably shifted towards the higher end of the spectrum.

One of the services affected by this phenomenon is MyAnimeList, which allows its users organize their anime and manga titles and rate each entry on a 1–10 scale.

In a perfect Gaussian distribution, scores in this range should yield an average of 5.5. Noticing an inflated average—a lot of mediocre shows being rated 7 or higher—I've decided to fetch the scores from my own MyAnimeList profile and present them in a graph form.

Proof of concept

The very first MALgraph version only showed one's anime rating distribution chart and notified the user if they've given an unusually high number of 10/10 ratings. The minimal feel of the application emphasized its focus on showing just that—a barebones bar chart.

First version of MALgraph

First version of MALgraph

Although it wasn't meant to be anything more than a personal one-off project at first, this idea caught on quickly with the MyAnimeList community. People started screenshotting their graphs to put them in their profiles, so that others could see their statistics.

Understanding the user

Seeing how eager users are to share their superior anime rating graphs, I've added a similar chart for manga and collected all users' data in a global stats summary, so everyone could compare their average to others.

To satisfy MyAnimeList users' needs, a share function was implemented, so one could copy and paste a bar chart to their profile, complete with a link back to MALgraph.

By creating a public forum on MAL, I was able to distill user feedback to actionable points and prepare mocks for the other developer.

Feedback loop

As the team grew to 2 people, the project was finally free to reach new heights. I've designed all subsequent versions in Adobe Photoshop, focusing on keeping the page easy to scan with all the newly introduced statistics.

The increased popularity shaped some design decisions, e.g. the profile's layout had to incorporate a refresh button, since automatic refreshes would exceed MAL's daily quota limits. Users could also compare stats with other people.

During the development, I privately asked multiple users for feedback on conflicting approaches to some parts of the website. Their answers would shape the formulas used in the backend, thus impacting how the application works.


With the final version I've modernized the application's look, including subtle touches that improved interactivity. Emphasizing content over geeky info bubbles streamlined the design, making it consistent and easier to use.

I've written multiple variants of microcopy shown next to the loading spinner, entertaining the user with silly progress texts like "Proving P = NP…" while they wait for some process to finish.

Working with the community, I've been maintaining the database, introducing new achievements and discussing potential new features. I made sure to keep the relevant documentation up-to-date for future maintainers.

Details worth mentioning

Admin panel

  • Downloading the database part by part meant having to work with data that's often outdated or corrupted.
  • An admin panel was designed to aid the owners in managing the local copy of the database, including manga, anime, and user cache.


  • Being a major incentive to share own MALgraph link to brag to others, achievements became a significant part of the application.
  • I've designed all badges and their playful descriptions to hook users into re-visiting the page often.


  • User's choice of list privacy on MAL is respected, so even if their overall stats are shown, lists' content can be hidden.
  • Each user can request the admins to block their profile from being displayed in MALgraph, no questions asked.


Over 200 000 unique MyAnimeList users' statistics have been tracked.

The global average shifted from 6.95 to 6.62 over the years. A noticeable trend was people re-rating entries on their lists, using the whole 1–10 scale.

I was asked by MyAnimeList's admins to help redesign its user profiles.
Since so many users have shown interest in statistics, the redesign included a clean look at basic stats and better use of available space without sacrificing information.
That redesign opened a new monetization option to site owners: stats' color customization for paying members.

After the original instance was closed in June 2015, MALgraph's legacy continues to live on under a different maintainer, with unchanged design.

I've learned that a seemingly niche product can capture hearts of thousands. Exploring a wild idea might fill a void that nobody had noticed before, and investing time in the unknown may be worth it.

HomeBack to homepage

Next case study: szurubooru