I have thoroughly enjoyed working with Twilio for the last 6 months or so on an open-source project that will soon be released (can’t wait!). Now that my part in that project has wrapped up, I’ve got some extra time to play around with my own projects and look for my next job. Over on the Twilio support forums, someone recently requested help, and it caught my eye:
I have to conduct a lot of phone interviews every year for my company with fairly standard questions. Would there be a way to use Twilio to manage this in an automated fashion? I don’t want to spend the time actually conducting the interviews but would rather listen to them when I have a chance. [...]
During the call, I would like to have the user enter the # sign or something when they have finished answering the question, to prompt the next question. This way, I could have my 10 standard questions recorded in Mp3, and then have the whole process managed through Twilio ideally where i enter the interviewee’s phone number and a time for the call ideally.
Someone posted a link there that lead me to this service: VoiceScreener which starts at $169/month. Yikes! Twilio, on the other hand, is 3¢/minute and $5/month/phone number. I got to thinking: this is incredibly easy to set up with Twilio’s API; why not just whip it up? So I did.
Here’s a demo where you can try a sample phone interview and here’s where you can download the code. To install and customize it, just follow these directions:
- Unzip the file to a directory on a web server that runs PHP 5
- Edit the file inc/config.php with your own Twilio authentication credentials and the email address that will receive reports.
- I have included my sample MP3 files in the files directory, but you should replace them with your own. The file names should be self explanatory: intro.mp3, thanks.mp3, conclusion.mp3, and question_XX.mp3, where XX is a two-digit number.
As it is written now, this works without any database at all because we can use Twilio’s REST API to query the call details and list of associated recordings. This project is more of a starter and proof of concept, although for simple interview scenarios it would work just fine. Other possible upgrades (some requiring a database) could be:
- Account for unanswered questions in the report
- Allow interviewers to hang up in the middle of the interview and call back later to pick up where they left off
- Allow the interviewer to review their answer and re-record
- Allow for question branching, where the user enters a touch-tone response for yes/no on some answers and is asked only relevant questions from then on
- Set up multiple types of interviews
- Show the text of the question in the interviewer’s web browser while they are listening to it on the phone using AJAX
- Make the interview conclusion a menu, as in: “To hear more about the company, press 1. To hear more about this position, press 2…”
If you are interested in having me work on this for you, please contact me and I’d be happy to help you out. If you have any suggestions or improvements, please send them my way too.
Today I ran into a problem that required two directories to be synchronized. This is more than just copying all of the files from one directory to another, which
I got a new phone a few weeks ago: the Samsung Blackjack, otherwise known as the
Today we found a fix for a strange error experienced while deploying a web project built in Visual Studio 2005 that has a web reference (SOAP), specifically to the 



