the IRDP central site

View the Project on GitHub Xavdidtheshadow/refbook


This is the informational and functional hub of the International Referee Development Program, an independant quidditch referee certification and standards body.

About the Site

For the most part, the site is Sinatra(ruby) rendering HAML supported by a Parse database. These tools are all wonderfully powerful and play together nicely, which made my job a lot easier.


Integrated Testing

Our tests are proctored through Classmarker, which allows for randomized Q/A order, test metrics (test duration, for instance), and some helpful question insights (commonly missed questions, etc).

In the past, users signed up for the AR and SR tests through a google doc which had a link to the CM page. Upon completion, CM would tell them what they got wrong and it would periodically update our database (which was a gsheet). The HR test required payment, so upon submitting money through paypal, hopefuls had to wait for one of us to send them an email with their unique test link. We were usually pretty fast about it, but vacations and emergencies happen, so there tended to be delays of up to 48 hours.

Given these shortcomings, the IRDP wanted to accomplish a few specific goals with the new system:

The best way to store and reference this information is through an authenticated database. Because an account is required to attempt a test, we're able to easily track (and enforce) not only who they are and their team affiliation, but which tests they're qualified for and the time between attempts. Additionally, we can programmatically send confirmation emails and keep in touch with applicants.

Referee Directory

One of the challenges when planning a tournament is ref coordination. Part of the issue is knowing which of the 150 people showing up to your tournament are ref certified and in what capacity. In the past, TD's have posted referee signup forms on their event page in the hopes that refs reveal themselves for easy contact.

Instead, what if the TD could easy glance at their region and see a full, sortable list of certified refs in their region (and their contact info). That's exactly what we've done with our ref directory. Because certification happens within our system, it's easy to show a sanitized view of our database for public consumption.

Referee Reviews

For referees to improve, it's important that they're given feedback on how they did during a game. While the IQA has had a reviews system, it was always hard to find (despite now many's we had) and required a lot of typing. RDT also wasn't great at passing on review information to the refs, so the overall experience really never helped referees improve.

Our new review system is simple (10 questions including name and stuff!) and easy to access (top level link: Furthermore, we as administrators are able to directly send the productive reviews to the ref's account on our site. This way, we will hopefully be able to track a marked improvement in skill development over time.

Central Payments & Registration

Instead of having to pay through another site or worry about waiting for a human to process your testing payment, all payments are done in local currency through paypal. Paypal takes care of the database, so changes are always reflected immediately and without hassle.


Because the IRDP is a global organization, being able to easily display translated versions of all our pages was an important goal.

When HAML renders a page, all it needs is a symbol that represents the file, so with some clever helper methods we can extensibly render all versions of a page with a single controller.

# part of the display helper, with filesystem map    

# |-- /EN
#   |--a.haml
#   |--b.haml
# |-- /FR
#   |--a.haml
#   |--b.haml

haml "#{@lang}/#{path}".to_sym, layout: "#{@lang}/layout".to_sym


Want to help? Because a lot of the database info is very sensitive, it's hard to get local copies working for other developers. If you've got a great idea for a feature, feel free to open an issue or contact me personally. If you're really devoted to progressing reffing standards around the world and have web dev experience (especially with either the technologies we use), reach out to me and we'll talk about a volunteer position with the IRDP.

Acronym Key