The MIT Outing Club's trip management system
Clone or download
DavidCain Create mechanism of adjusting lottery outcome
Every year, we have to make some manual tweaks to the lottery on rare
occasions. This provides a mechanism of doing so!
Latest commit 0edd9c4 Jan 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
package-lock.json Upgrade to Bootstrap 3.4.0! Dec 14, 2018
requirements-dev-top-level.txt Install & configure pylint Oct 28, 2018

Build Status


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. All trips are open to MITOC members - 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.


Profile page

Profile page

Account management

Email address management

Member discounts

MITOC members can receive discounts

Leader application

Submitted application

Pending applications

Activity chairs can review applications

Reviewing applications

Application under review

Trip view

An activity chair's view of a trip

Administering a trip

Trip administration view

Adding a participant

Participant being added to a trip

Interactive leaderboard

Interactive D3-based widget showing active leaders

Help pages

Help pages guide users


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.