Sending automated SMS reminders with twilio

Abstract the fine folks at myatbevents.com provides reminder text messages to their users. They started out handling this all by hand; looking up rodeos, tracking the different rodeo types, sending a reminder to the user based upon their rodeo type selection, and managing billing took up a great deal of their time.

Inorder to buy back a lot of their time, we worked together to automate their whole process. Everything from onboarding new users and adding upcoming rodeo events, to generating and sending out the messages all of this was to be handled by the application High Creek Software developed for them.

Sending automated sms reminders with twilio

Goals

The goals for the system fall into two general categories. First how the users will interact with the system. Second how the administrators will interact with the system. There is also a lot of behind the scenes work going on to get the messages sent out to the users.

Users
  1. Allow users to sign up for an account
  2. Allow users to register for the types of rodeo events they’re interested in
  3. Allow a user to manage their own billing and account level
  4. Show users a list of rodeo events that they are interested in
  5. Drop pins on a map to show all the rodeo events the system knows about
Administration
  1. Add rodeo events to the system
  2. See queued up messages to be sent for an event
  3. See the registered users that match the rodeo event

Tools

To get this project done, there was a handful of tools that we needed to integrate with.

Stripe

Stripe is the payment gateway that we decided to use. We’re using a custom code workflow to integrate with their subscriptions API.

Twilio

We’re sending SMS (text messages) using the twilio API.

Mapbox

Google Maps seems to be the de-facto mapping solution, however, it can be quite expensive. In order to be a bit more budget minded, we went with the map box API to integrate mapping into this project.

The Work

There is a lot going on with this project to meet all of these goals. And as you might be able to guess, there isn’t a great off the shelf solution to get this working. That is where High Creek Software comes in, as we provide custom software development services to meet goals like this.

User signups

We have a user signup flow. A user can give us their information, choose their rodeos of interest, and then setup their subscription level.

User rodeo events list

After a user tells us what kind of rodeo events their interested in (locations, competition levels, sanctioning bodies, and card status), we query the database on these properties to show the user a list of rodeo events that meet their requirements.

Admin rodeo event curation

The admin dashboard allows an admin user to view upcoming events, create new events, and edit existing events.

Background Work

Depending on the account level a user signs up for, they can receive one or more text messages. The messages are to go out when registration opens, and throughout the registration time frame. These messages get scheduled when an event is created. Then, running in the background, a scheduler sends messages out when their deadline arrives.