Murlok.io's about image.

About

Murlok.io is an app that provides 2v2, 3v3, RBG, and Mythic+ class guides for World of Warcraft Dragonflight.

Updated on a daily basis, those PvP and PvE guides are based on the 50 highest-rated active players for each class, and specialization.

Here are the behind the scene, the origins, and how it is built.

Origins

Hello, I'm Maxence, a World of Warcraft player since 2005.

Back in 2020, COVID-19 rampaged across the world, and like many of you, I got stuck at home, going back to the World of Warcraft.

Being a PvP player, I love slaying people in arenas and battlegrounds! More than skill, it also requires knowledge of what stats, talents, and items to use.

So, I would spy on the top players in the Armory , ending up with several browser tabs open, and spending a long time to figure out what would be the unfair advantage.

On the other side, I was also working on my own open-source tool to build apps . I was at a point where I needed a project that could showcase what it is capable of.

After endless hours of work, here is Murlok.io. I hope you love it.

Frontend

As you may have noticed, Murlok.io works more like an app than a website. Indeed, it is a progressive web app , installable on your devices from web browsers that support the feature, and can run in its own window.

Murlok.io's frontend is written with the Go Programming Language (Golang) . You read it well, there is no JavasScript or React involved!

The user interface is built with an open-source package named go-app and is stylized with vanilla CSS.

Backend

Like the frontend, Murlok.io's backend is written in Go . It is separated into 3 parts:

  • A crawler that fetches and processes World of Warcraft leaderboards and character data on a daily basis
  • An API that provides whatever the user interface needs
  • The go-app part that implements the progressive web app requirements

Hosted on Google Cloud , it is deployed in Cloud Run containers, uses Firestore NoSQL database, and all are running behind Cloud CDN .