Stitching together a host of APIs in a seamless UI

Jetlag alerts budget-conscious travellers to cheap flight deals through text messages.

The team originally used a web service to send their alerts, but they were reaching the rate limits of their service provider and found the pricing to be too much to justify. To expand, they knew they’d be further off developing something tailored to their specific uses.

They approached me to build this tailored tool. I assessed their planned tech stack (WordPress and WooCommerce to handle the customer transactions) and proposed building a custom plugin that allowed them to text their customers from WordPress itself. They agreed, and we got to work.

I hooked into the WooCommerce registration process to ask customers a few questions about their “home region” (for which they wanted alerts) and their phone number. I then built a WordPress “alert” custom post type that allowed the team to write alerts, select the relevant region, and automatically text the subscribers to that region using either a pre-selected template or a custom message. They could also manually message a given region.

I integrated with Twilio to send the messages. Twilio doesn’t have a a bulk messaging API; you have to call the API for each text message. One issue was how to handle queuing these API requests. WordPress doesn’t have a great queuing system built-in, and it was out of the question to build a hosted queue. I integrated with a community queuing package and built various safeguards into the system to ensure messages delivered reliably.

Throughout development, I communicated with the Jetlag team through GitHub. This let us track bugs and questions in a central location, so I knew what was left to do and the Jetlag team knew how much of the project remained.