This is a Django-based trip management system for the MIT Outing Club.
MITOC's volunteer leaders craft trips to take participants climbing, hiking, biking, skiing, mountaineering, rafting, canoeing, and surfing. Trips are open to everyone in the club - a community of thousands.
It takes a single command and a few minutes to deploy this software. Clone the mitoc-ansible repository and follow the instructions there to easily launch an instance.
This site was created in 2014 to improve MITOC's Winter School program. It has since evolved into the central portal for all MITOC trips.
Once upon a time, Winter School trips operated on a first-come, first-serve basis. Signups opened at noon, and filled up extremely quickly. Many participants found themselves unable to attend any trips in a given weekend, and others struggled to gain exposure to new activities.
We introduced a lottery system to combat the "fastest gun in the West" problem. Instead of rewarding trip slots to whomever could sign up the fastest, we used an equitable algorithm to distribute trip slots. As a result of this new algorithm, we saw unprecedented levels of participation. Everyone who expressed interest in attending weekend trips was placed on a trip, and popular activities like ice climbing were more accessible.
Today, all MITOC trips are organized through this portal. Many trips are first-come, first-serve, but we use lottery-based signups for other popular trip formats once subject to same problems as Winter School.