Skip to content
The new way of voting in mailing lists.
Ruby JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Ask a question, vote and view the results directly from your email.

What is

It’s a new friend to include in your mailing list.

It’s a completely transparent and light system to do surveys by email between your friends or your mailing list storing the responses received.


We made it just for fun during the 2009 rails rumble with the idea that everybody could take advantage of our idea. We don't have nothing to hide about the behaviour of our bot, so it goes OpenSource, because maybe you prefer to have your mail privacy under you control, so do us.


Yes, it's a rails app so follow the normal convections, only I have to remark some config details and tools we made to facilitate the setup.


We use a bunch of gems that you have to install before firing up the server:

sudo gem install gravatar youtube-g xml-simple hpricot javan-whenever lockfile thoughtbot-factory_girl cucumber rspec rspec-rails webrat nokogiri

db setup

Now you can setup the "config/database.yml" file. You can also run the populate task if you want, to have some data in your database rake db:remake

bot setup

Setup the "config/config.yml" where you will have to setup config details for the account that the bot will use and the domain of the applicaction:

admin_mails: ""
bot_mail_pass: yourpass

to start the bot we recomend to prepare a cron executing the rake task with your desired frequency.

rake ldu:mail_digest

test suit

You can run the test suit with:

rake test features.


In this first phase we will focus on questions that can be voted on a binary basis, that is +1 or -1.

To use it with your friends

Simply send an email with the question to your friends putting in copy your new friend:

Your friends must answer to your question in the same way, sending the email to all the friends, including your new friend.

The vote should be put anywhere in the body of the message, only remember to put it in a line by itself.

For now we only allow to vote as +1 or -1.

To use it in your mailing list

Just add to your mailing list your new friend:

Add it directly without requiring email confirmation and configure it so it receives every email (not the digest mode).


In any thread of a question, and always including all friends in copy, or sending an email to the mailing list you can send one of these commands:


Your new friend will reply with the latest voting results.


Your new friend will return a link to the web page with the current voting results.

Web Interface

While e-mail is enough to use your new friend you can also check out the website where you can view the current status.

Simply ask your new friend for the URL with the command:


Remember that if you run a command you have to send the mail by replying to the thread of the survey, ie, respecting the subject and putting everyone in copy.

An example between a group of friends

Start of question

Someone sends an email to, and our new friend: with this subject "Do you like this t-shirt?"

In the message body put whatever you want, the important thing for our friend is that the question ends with a question mark.

First vote things the t-shirt looks cool, so he responds to the email using the reply_all button, ie, replying to all, including our new friend, and leaving the subject as it was.

In the body of the response he puts whatever he wants but makes clear what his vote is by putting it in a single line:


# Second vote thinks the t-shirt sucks, but doesn’t feel like explaining why exactly... so she simply replies to the email with everyone in copy and puts her brief but significant:


A comment still has doubts and doesn’t want to vote yet, so he responds explaining his doubts, but as he doesn’t write a +1 or a -1 our new friend does not count any votes.


Any participant at any time can ask our new friend how the voting is going by sending an email to everyone including in the body the following:


Our friend will reply sooner or later with an email with the results.

An example of a mailing list

To register our new friend

Our new friend needs to hear everything that is happening in the list, in addition to being able to send emails to the list.

We need to register it to the list in non-digest mode, i.e, he should not receive all the emails of day in a single emai, and he should not have to send a confirmation email when registering to the list.

# Start of question

Our new friend will receive all emails but will only pay attention to the emails ending with a question mark.

When you want to conduct a survey to the list just end the subject of the email with a question mark.

So sends an email to the mailing list “Do you like this shirt?" And doesn’t have to put in copy anyone else. This is important as it’s the way for our friend to differentiate whether the question is being sent to a mailing list or group of friends.


The comments and/or votes happen just like the example of a group of friends.


As in the example of a group of friends any member of the list can ask for the current voting results writing in the body of the email:


The mail must be sent to the list and not directly to our friend.

The response of our friend will be sent to the list.

Who made this

As we said we made this for the 2009 rails rumble under the mallorca's team. ###Team members Fernando Guillen

Raimon García

Carlos Matallín

Felipe Talavera

You can’t perform that action at this time.