Skip to content


Repository files navigation

Tournament Director

Tournament Director is an app for running quizbowl tournaments.


  • Tracks statistics!
  • Supports multi-user entry!

Lacking features

  • Anything beyond statistics


Tournament Director is a CouchApp written in CoffeeScript with Ember, Emblem, and Bootstrap. Its build system is Grunt.

In the cloud

You can get a fully-functioning installation of Tournament Director by visiting and signing up. It's free!


You're using Homebrew? Great! Install CouchDB and Node:

brew install couchdb node

Install the right Node modules to run the build system:

npm install -g grunt-cli bower local-tld
npm install

Configure and start CouchDB:

cp scripts/couchdb.ini /usr/local/etc/couchdb/local.ini
couchdb &

Build Tournament Director and generate some test data:

grunt generate
open ''

Other systems

You can follow similar steps to the above by installing CouchDB and Node following their own instructions for your platform. Note that Node also depends on Python.

Note that local-tld is only available on the Mac, so you'll need to make an extra entry in your system's hosts file pointing the host to so you can use Tournament Director's own URLs and add the port number to the URL where you access Tournament Director, namely


The distribution includes a configuration file for working with Vagrant, which is a generally good practice for server development. Once you have Vagrant installed and running, simply run vagrant up from the project's root level.

You'll want to make an extra entry in your system's hosts file pointing the host to so you can use Tournament Director's own URLs.

After doing both of those things, open in your browser and you'll see sample data. (Note that the port here is 5444 instead of 5984 as elsewhere, since Vagrant is forwarding port 5444 on the host to port 5984 on the guest.)

To get a shell inside your virtual machine, run vagrant ssh.

To compile your latest code and upload it to the database, run grunt from within the aforementioned shell.

Command-line usage

The Gruntfile has two major commands:

  • The default command (grunt) compiles the whole app and uploads it to the database specified in scripts/

  • The "generate" command (grunt generate) both runs the default command and generates an HSNCT-sized tournament's worth of data.


An app for tracking quiz bowl tournaments.






No packages published