You're welcome, Internet.
- Australia: +61-3-8652-1453
- New Zealand: +64-9-886-0565
- UK: +44-11-7325-7425
- USA: +1-760-706-7425
Want me to continue bringing whimsy to the world? Support me on Patreon.
You can also become a fan on Facebook.
The National Rick Astley Hotline brings joy to thousands of people each year. It uses the following software stack:
- Twilio for the front-end numbers.
- Flask for running the microserver that handles requests from Twilio.
- Zappa for deploying the flask app to AWS/Lambda.
First, set up your virtual environment and install the requirements:
$ virtualenv venv
$ . venv/bin/activate
$ pip install -r requirements.txt
To run, simply:
$ . venv/env/activate # If not already in your venv
$ python rickroll.py
This runs the flask server on a local port, so you can poke around with it.
The flask quickstart explains how you can run flask on a public server, at which point you can point a Twilio webhook at your server and you've built your own hotline!
The main service runs using AWS Lambda, a
scalable, serverless platform which removes the overhead of needing to maintain an underlying
server. The Zappa documentation
provides detailed set-up instructions, but if you have your ~/.aws/credentials
file in order,
it should be as simple as:
$ . venv/bin/activate
$ zappa init
$ zappa deploy
Record the URL it spits out, connect it as a webhook to your own phone number with Twilio, and you have your own serverless Rick Astley Hotline!
As of mid 2018, connection costs were averaging about $900 USD/yr. It's totally worth it for the joy it brings others.
If you want to defray my hosting costs, there's always bitcoin and Patreon.