As many of you know, I compeated in the Overnight Website
Challenge, put on by the fine people of The Nerdery. During this
event, I spent 24 hours with the rest of my team (hell yeah Full
Court WordPress) compleatly redoing a website for our nonprofit,
Project 515. While the designers were designing, myself and the
other developers spent some time figuring out what we wanted to
build. I say wanted because, from a development standpoint, this
was a relatively easy build. We settled on two things: Custom
integration with their CRM, and an SMS engagement platform. I
headed up, and built, the SMS platform. Quick rundown:
- SMS API: Twilio (They hooked our non profit up with some free
credit, and were generally awesome)
- Web Tools: PHP, MySQL, WordPress
- Total LOC: about 350
This was a really fun build. The basics of the app:
- A main controller, which handles all of the back and forth
texting. This is what recieves the text, and figures out what to do
next.
- Various sub controllers for doing the action (adding someone or
unsubscribing), and sending back information (the next event, or
the most recent blog post)
- A WordPress plugin, which adds a meta-box that gives them the
option to send the post to all SMS subscribers
- A new editing window which lets them fire off a blast to all
subscribers (also part of the plugin, made them a window in the
settings page to do this).
The goal of this app was to give Project 515 a great way to stay in
touch with supporters, as well as get supporters engaged. This SMS
direction was chosen because it is simple - they didn't really need
a full mobile app, just a way to stay connected. I have not decided
if I am going to open up the code - I may break out parts (such as
the plugin), but that remains to be seen. As the 24 hours went on,
my coding standards went way down, so I first have to fix
everything. I want to take this chance to thank Twilio for being
such a great service. They had great documentation, and using their
API was the easiest part of the build. I had been wanting to build
something with them for some time now, and this full engagement
platform was just the thing. It is also astounding to me that
someone can take the tools that I did and roll something as
functional as this in less than 400 lines, and within 24 hours.