Skip to content

bgasiorzewski/matchmaking

Repository files navigation

Is Hero League matchmaking for Heroes of the Storm fixed yet?

Visit www.IsMatchmakingFixedYet.com to find out!

Shoutout to Blizzard for creating Heroes of the Storm, and to Ben Barrett for creating Hotslogs!

How does it work?

There is a scraper running in the background that continuously checks Hotslogs for new matches played by the top 500 players from NA and EU. Each new match is added to the database. Then, the background service calculates the percentage of matches played within the last 24 hours, in which the difference between the highest and lowest-ranked player is over 1000 Hotslogs MMR.

The ultimate answer is "YES" if that percentage is less than 35%. Otherwise the answer is "NO."

What is the tech behind it?

The website is written in Haskell.

It uses:

  • http-client and tagsoup to gently scrape Hotslogs (if ismatchmakingfixedyet.com suddenly stops updating with new matches, it's because of my fragile tagsoup parsing)
  • scotty and blaze to display the beautiful web page
  • ekg for "monitoring" (visit the website on port 8000 to see it in action)
  • postgresql-simple (and PostgreSQL) for data storage
  • cassava for CSV generation
  • dygraphs for charting
  • nginx as a reverse proxy and for static files
  • stack for building

Copyright 2016 Bartek Gąsiorzewski