Serverless Function: Recognize dogs and send to Whatsapp using Twilio and AWS Rekognition

Sat, Jan 19, 2019 One-minute read

While preparing my graduation project, I felt the demo needed some kind of recognition, and AWS Rekognition was the natural fit for that.

But obviously that’s not enough on its own :).

At its core, the function is a simple Flask REST service that expects an image from form data.

From there the flow is straightforward: my Knative function receives an image of an animal and sends it to AWS Rekognition to decide whether it’s a dog or not. When it is a dog, I upload the image to AWS S3 under a unique ID (UUID), and once that upload succeeds, I call the Twilio WhatsApp service to send the dog image from S3 straight to my WhatsApp number.

GitHub repository:

https://github.com/ffahri/serverlessrecognizedogs

Scheme:

Images:

Here we see the Twilio setup.