Daniel Farrell

Web UI/UX Design & Development
Halo REQlist
Halo 5: Guardians is a video game which allows users to collect over 1000 pieces of in-game items by opening three different tiers of pack - Bronze, Silver and Gold. The in-game items have a rarity which determines which packs may contain the item: Common items are found in Bronze packs, Uncommon and Rare items in Silver packs, and Ultra Rare and Legendary in Gold packs. The problem with Halo 5 is that nowhere does it tell you how many items are left to unlock, or which packs you have successfully collected every item from. That is where Halo REQlist comes in.

Halo REQlist is a web scraper at its core. It scrapes the official Halo website - HaloWaypoint.com - in order to determine which items a player has yet to unlock. Simple, right? However, a user must be logged in to the website in order to see their item collection, meaning a standard web scraper would just find a login page instead of an item collection page. This prevented Halo REQlist from being a standard web application, as I didn't want to store any user login details, so instead I opted for a Google Chrome Extension.

Google Chrome Extensions allow extensive access to the Google Chrome API - including sessions! Sessions are what HaloWaypoint (and most websites) use to store a user's login status, meaning Halo REQlist can use them to access the user's item collection without being blocked by a login page. From there it is a simple matter of parsing the HTML of the item collection, determining which items the user has unlocked and calculating if their packs are complete.

Halo REQlist boasts almost 1,000 weekly users and a 5 star rating on the Chrome Web Store!

Noteable Features
CSS Flexbox - allowing the application to be fully responsive
jQuery - used to animate content
XHR/Ajax - I opted to use pure JavaScript for this rather than jQuery in order to challenge myself more

Links
View on GitHub
View on Chrome Web Store