Developers Drawing The Owl

Video conferencing doesn’t have to be as basic as just conveying packets of data between users. Using machine learning, we can interpret what those packets of data represent in the real world, and manipulate them in a way to create a more human-centered experience.
Today we’ll learn how to use OpenCV to do some simple object-detection with Twilio’s Programmable Video. This will allow you to add object detection to your video streams and open the pathway to many more image processing techniques using OpenCV!
Let’s get started.
Prerequisites
Before we can build our OpenCV integration, you’ll first need a few things.
- A Twilio Account – you can sign up for a free trial here
- Node 8.16.0+
- npm, the Node Package Manager
Integrate OpenCV and Twilio
First off, let’s clone Twilio’s Quickstart Video application. Open up a console and run:
git clone https://github.com/twilio/video-quickstart-js.git
Great! Now we need to initialize …

This article is going to teach you how to use the Twilio Programmable Video DataTrack API to add shareable holiday themed filters and overlays to your React video chat app. You’ll be provided with some holiday themed overlays as you carry out the tutorial, but you can apply this knowledge to make any type of filter or overlay!
You won’t be building a new video chat app from scratch, but adding to a basic video chat app that already exists instead.
Prerequisites
Before moving forward, make sure you have the following accounts and tools:
- A free Twilio account
- The Twilio CLI with the Twilio Serverless Toolkit Plugin
- Node.js v10+
Project set up
Clone the repository
Your first step is to clone the existing video chat app from GitHub. Alternatively, if you followed along with the Build a Custom Video Chat App article, you can use the code you wrote …

So – you have an idea for building a connected device, which would let you tap into the promises of the Internet of Things. Maybe you’ve worked out a business case, showing how the investment of building the required infrastructure to maintain your device will be counteracted by the benefits expected from being able to collect usage data and control the physical asset. Whatever the case, chances are you’ve underestimated what it takes to build and maintain IoT devices and make everything reliable enough to serve your business properly.
Twilio’s decades of collective experience helping companies bring IoT products to market unfortunately show us that too many businesses simply fail their business case: it takes them years – not months – to establish reliable connectivity, and many give up before reaching a return on investment or even a functioning deployment.
In this post, I’ll explain the challenges of IoT, …

The world has changed, thanks to the Internet. We are able to collaborate and build quickly and efficiently. But – this phenomenon has also increased the number of security risks and attempts by hackers to extract valuable information.
Here at Twilio we use Rest APIs which are secure by default. On top of that, our Elastic SIP Trunks can be secured by simply flipping a switch.
If you have not turned on the secure feature for Elastic SIP Trunk, this post will give you the reasons you should do it. We’ll show you how to enable Secure Trunking and walk through configuring a Cisco Unified Border Element (CUBE) with TLS & SRTP.
TLS/SRTP is now included 🎉
We are now offering this security feature free – all you need to do is flip the switch! Learn about the TLS specification for secure SIP trunking in our docs.
We have already …

Twilio and Segment have come together to tear down the data silos that prevent developers from creating amazing customer engagement experiences. The combination of Twilio's developer-first communications platform and the Segment Customer Data Platform makes it much simpler to build those experiences for your customers. And we're ready to prove it to you.
One of Twilio's traditions is to reward new employees who demo and build their first Twilio app with a signature red track jacket. For my track jacket app, I wanted to begin to show you the power of Segment and Twilio together. I quickly put together a frustrated customer notification app – combining Segment's analytics and audience identification with Twilio's communications channels.
This application will show how to send Voice, SMS, and WhatsApp notifications via Twilio when one of your customers triggers an event on your website – whether that's an abandoned shopping cart, …

Xiang Xu from VOYCE joins us today for this guest post on how to add VOYCE’s interpreter capabilities to a telemedicine waiting room and video chat app.
VOYCE provides remote video interpretation services to the health care, legal, and business communities. Our professional, qualified, and medically trained interpreters service 220+ languages and dialects. Our platform can tightly integrate with Twilio Programmable Video and Programmable Voice.
This post will show you how to add VOYCE’s interpretation services to a Twilio Programmable Video telemedicine room. A medical provider can add an interpreter to the room with a single click of a button.
At a high level, here are the steps we’ll be following:
- Generate a Twilio Video token for a VOYCE interpreter
- Set up a basic front end user interface for the VOYCE service
- Build an integration with the VOYCE service related core APIs
If you’d like to skip straight to the …

In this tutorial you’ll learn how to implement in-browser calling in a form reminiscent of a walkie talkie. It's a unique way to connect with other people in real time and bring back some childhood fun! The lessons learned in this post can also be applied to any number of browser-based calling applications.
To complete this tutorial, you’ll need the following:
- The Twilio Serverless Toolkit plugin for the Twilio CLI
- A Twilio account
- A GitHub account if you’d like to deploy your app to GitHub Pages
This app has three parts:
- A React.js frontend
- A Node.js backend running on Twilio Functions
- A TwiML application created through the Twilio Console
The TwiML application is the bridge between the frontend and backend. Because this app involves browser-to-browser calling instead of phone-to-phone calling, you’ll learn how to create a virtual Twilio Device that connects to your TwiML application. This Twilio Device is a …

Hey, this is Steve at Dabble Lab. In this tutorial we’re going to explore using GitHub Actions to automate the deployment of Twilio Functions.
For most of my projects that use Twilio Functions, I use the Twilio Console to create and manage my code and assets. But as much as I love the ease of working in the web console, it’s not always the best option. For example, when working on mission-critical apps, complex or frequently updated apps, and when collaborating with other developers, I always want to have continuous integration and continuous delivery processes in place. But at the moment, continuous integration and continuous delivery functionality is not provided by the Twilio Console. The good news is setting up CI/CD workflows for your Twilio Functions is relatively simple using GitHub Actions.
GitHub Actions
GitHub Actions allow you to automate, customize, and execute software development workflows from within …

Having an interest in communicating with a distant cousin in Germany, whose native language I don’t share, I decided to build a real-time SMS translation app so that we could text each other.
Thanks to Twilio Functions, Twilio Programmable SMS, and the Google Cloud Translate API, this app was easy to build, and it’s super fun to use!
Here’s the gist: I send a text to my Twilio phone number. A webhook captures this message and makes a POST
request with the message details to my Twilio Function. Inside the function, the message body is translated, and the translation is forwarded to my recipient’s phone number. When they reply, this same process happens in reverse.
Requirements
I needed the following things before getting started:
- A Twilio account and phone number
- The Twilio CLI
- The Twilio Serverless Toolkit plugin
Using the Serverless Toolkit
For this project, I relied …

As part of a customized interactive IVR experience built on top of Twilio, you often need to fetch data from external APIs. Sometimes, it may take that API more than ten seconds to respond to a request. Ten seconds is the maximum time the Studio HTTP Request Widget and Run Function Widget synchronously waits for a response. What then?
In this post, I’ll show you how you can architect a solution that will extend Studio’s response times beyond 10 seconds. We also use a Twilio conference with music on hold, to avoid extended periods of silence during these requests.
Prerequisites
In order to follow this tutorial, you will need:
- Ngrok, the localhost tunneling tool, to allow you to run Express locally from your laptop for testing and development
- Node.js
- Sample Code
- Express
- A Twilio account and active number. If you don’t have an account, go ahead and create one …