Digging deeper: Behind our SMS/Text Message App

Recently we launched a custom-built SMS/Text Messaging application for the Illinois Corn Growers Association. We had the pleasure of working with ILCGA through our partners at Gray Street Solutions.

The purpose of the application was to alert ILCGA members to contact their lawmakers when important legislation was up for a vote. The application was crafted to allow personal SMS/text messages to be sent to members. Text messages can contain the recipient’s name and the phone numbers of their lawmakers. Since SMS messages are received on smart phones the recipients are simply a touch away from calling their lawmakers. This can lead to a onslaught of support or opposition for a piece of legislation.

In addition to activating grassroots, the application has several other uses:

  • Alert users to real-time news and information
  • Double opt-in confirmation
  • Ticketing and events

Since launching the site it has piqued the interest of others.

To better explain the functionality of the application, we put together the following screencast.

[vimeo http://vimeo.com/101456585 w=720]


Here is a look at the various interfaces of the application:

Public sign-up form:

SMS Front-end

This form can be customized to fit your needs. ILCGA requires a membership number, for example. It also checks to see if the user is already registered in the system on both email address and mobile number. Mobile numbers are validated in “raw” form, meaning all spaces, periods, hyphens (anything non-numeric) are stripped from the number.

Administrative Interface:


The admin interface allows for management of web site registrations, groups and the blasts that have been sent.

Blasts Admin:

Blasts Admin


The blast administrator ensures messages are kept at 160 characters to prevent sending multiple messages.

Validation Tool:


A validation tool uses a routine similar to a “mail merge” which checks messages to ensure all recipients’ messages are 160 characters or less.

Testing Tool:

The testing tool lets you send a message to  any number before the real blast goes out. A record from your intended blast is randomly selected and sent to the number you specify.

Testing Tool

After the blast is sent a report is emailed to you showing the success or failure of the blast. With this report you can get in touch with recipients who failed to receive your message.

Blast report

Under the Hood

The application uses the SMS messaging service Twilio to broker the SMS sending. Messages can be sent for as low as $.0075 each.

On the back-end, the application was built with Symfony2 PHP Framework. Within Symfony2 we integrated the FOS User Bundle and the Sonata Admin, Page and User bundles to handle the admin interfaces and user management.

Bootstrap 3 was used on the front-end.

You can check out a demo of the application at smsdemo.wavemotiondigital.com