For Ela Conf 2015, 2016, and 2017, we turned a private GitHub repository into a system for reviewing talk proposals.
Here’s how we set it up:
- We accepted proposals through a Google Form.
- Once someone submitted a proposal through our form, we set up a Zapier zap to create an issue in our repo.
- Our team used emoji reactions or on each proposal (issue) for the first round of review.
To help automate the process, I wrote a script that:
- Reads and formats the proposals (issues).
- Retrieves the emoji reactions for each proposal.
Makes decisions for the proposal:
- If the majority of the team gave the proposal then the bot added the label “no” to the proposal. It was also moved to a “Send rejection email” milestone.
- If all of us gave then the bot added the label “favorite” to the proposal.
- If someone still needs to give their emoji vote then the bot assigned them to the proposal or removed them if they had since left their emoji review.
Below is a (highly) redacted example of a talk proposal with a 5 rating and a “favorite” label adhered by the bot!
The system and script worked very well for a small-scale (receiving around 200 proposals) conference that needed an asynchronous review period. We used labels to help organize the different types of proposals we received and left comments based on what we thought about the talk.
You can check out the code on GitHub.