node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »

hackaserve

HackaServe

A tool for people foolish enough to run hackathons.

HackaServe is a simple text message delivery system for hackathons and other events which uses your twilio account to despatch messages to all your attendees, or sub groups of them.

To begin using HackaServe, run

    $ npm i hackaserve -g

I hate installing stuff globally, personally, but hey, it's a CLI so I'll make an exception

Run the following commands and it'll show you how to use the tool

    $ hackaserve -h

Get going with a simple hackathon or event

Once hackaserve is installed, you can start using it, get a new hackathon going with the following command

    $ hackaserve init HackLondon -x

This will create a new Hackathon folder with the name HackLondon in the directory you call the command from.

inside you'll find two YAML files, the first is called hackathons.yml

    name: HackLondon
    description: ''
    twilio_account_id: null
    twilio_api_key: null
    twilio_phone_number: null
    messages:
    name: first_message
      text: 'HackLondon: Lunch is now served in room K1.42'
      group: all
      type: once
 

this will contain info about your hackathon and the messages you plan to send during the hackathon, don't worry we can add more either manually or via the CLI

The second one is generated by the -x command and is an example of what an attendee record would look like

    name: Adam Green
      telephone: YEEE...NO
      email: YEEE...NO
      groups:
          - attendee
          - gluten-intolerant

We can also add to this yaml using commands provided by hackaserve CLI

To populate your attendees look at the add-attendees and add-attendees-from-csv command

Finally, to send one of our messages we run

    $ hackaserve send --groups gluten-intolerant --limit 5

The command above sends out text messages to 5 of the people belonging to the gluten intolerant group. If run again, it'll send out another 5 messages to a different set of 5 people from that group.

This means you can send groups in waves by setting a limit on the number of messages sent on a command. The command will give you a sarcastic warning about no longer being able to send messages once it has sent a message to all of the group

Future Objectives

  • Add Support for email messages
  • Add data updating for attendees (i.e. identify teams they belong to so we can give send messages calling teams up)
  • generate codes to allow organisers to identify valid and fake text messages (if you're that pedantic)