Mixed Messages - Harry Potter Wizard Duels

Here is my work
And here is the git repo

This app generates a random 1v1 duel between 2 of 50 most mentioned characters (according to this) in the Harry Potter novel series. The likelyhood of choosing a character is based on how many times he/she is mentioned, though this relation is slightly tampered with to reduce too much bias. The spells are chosen at random between these 77 spells allowing for both persons in a duel to use the same spell.

In the webpage version, you can hover over the spell to see it’s description. Using node app.js won’t show any description.

It took me 3 days to complete it(3 hours a day). 1 day basically wasted poking around and collecting data (all spells and characters). The second day to create the app. And last day I furnished the app and added the website html, interactivity and styles.

It seemed like a very simple app at first but making character choice randomness dependent upon number of mentions of the character was trickier. At one point I realized that I had only ensured that I randomly choose 2 separate mentions but the app could still choose two mentions that referenced the same character! Then I had to fix that so I get 2 unique characters.

I feel more confident with my js skills now. I would love to know your opinions on how to make the app better or your suggestions about features to add. If you are a Potterhead like me, I hope you have as much fun playing with it as me!