Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now
Build the future of communications.
Start building for free
  • By Tilde Thurium
    Building a telemedicine waiting room with Twilio Video Building a telemedicine waiting room with Twilio Video

    Telemedicine is rapidly changing the healthcare industry. COVID-19 concerns aside, being able to see a doctor’s face without having to commute is a game changer.

    Twilio Video allows developers to craft HIPAA-compliant telemedicine solutions that are fully under your control and tailored to your patients’ needs. Today I’ll show you how to make a telemedicine app using Twilio Video that lets you show a “virtual waiting room” where the patient can hang out until their doctor arrives. For the sake of simplicity, let’s build the front end in vanilla JS without a framework.

    At a high level, here’s the steps we’ll be following:

    • Set up a back end to control access to the application
    • Set up basic front end scaffolding
    • Build the provider experience
    • Build the patient experience

    Screenshot of a telemedicine app. The text says "Welcome to Owl Hospital Telemedicine" and there are 2 smiling, real live people video chatting.

    For impatient types who want to skip straight to the code, the whole project is on GitHub.

    Prerequisites

    • A developer environment …
    Read More
  • By Tilde Thurium
    8 silly JavaScript projects that will put a smile on your face 8 JavaScript projects that will put a smile on your face

    Code is a powerful means of self-expression. Building things because they’re useful is great. Purely ridiculous coding projects are less common but awesome.

    In this post, I’ll show you 8 JavaScript projects that will (hopefully!) bring you joy, or at least some mild amusement.

     

    1. Pettier

    gif of the Super Mario Brothers scrolling by with text that reads "super petty."

    At a previous company I worked at, an engineer merged a pull request changing 4 spaces to 2 spaces in the entire JavaScript codebase. Hundreds of engineers were stuck in a merge conflict traffic jam, derailing productivity for hours. Good times.

    It’s so easy to have opinions about code style at the expense of  substance. Instead of arguing about semicolons, why not convince your team to use Pettier? Taking the nihilistic approach to code style conventions, Pettier randomizes your linter configuration every time you save a file. I’ve gotta say, the project’s naming is spot on. For those not in the know, …

    Read More
  • By Tilde Thurium
    Gatsby email contact forms with Twilio Functions and React Gatsby email contact forms with Twilio Functions and React

    Today I’ll teach you how to send an email from a Gatsby website using Twilio Sendgrid, Twilio Serverless Functions and React. But first, what is Gatsby and why should you care?

    Gatsby 101

    If you spend time in JavaScript land, you might have heard of the JAMstack -- JavaScript, APIs, and Markup.

    Traditional web apps dynamically generate HTML from templates when the server receives a request. JAMstack websites use static site generators to turn templates into HTML when the site is deployed, instead of when a request comes in. 

    Since plain ol’ HTML can be much faster to serve, JAMstack can give you a huge performance boost. Especially if you’re using a content delivery network. Although, there are limits to the amount of UI complexity static sites can support.

    Gatsby bridges the gap between JAMstack static sites and traditional web apps. You write React components that compile to …

    Read More
  • By Tilde Thurium
    Sending a SMS from Gatsby with serverless functions and React Send SMS from Gatsby with serverless functions and React

    Today I’ll teach you to send a SMS message from a Gatsby website using Twilio Serverless Functions and React. But first, what is Gatsby and why should you care?

    Gatsby 101

    If you spend time in JavaScript land, you might have heard of the JAMstack -- JavaScript, APIs, and Markup.

    Traditional web apps dynamically generate HTML from templates when the server receives a request. JAMstack websites use static site generators to turn templates into HTML when the site is deployed, instead of when a request comes in. 

    Since plain ol’ HTML can be much faster to serve, JAMstack can give you a huge performance boost. Especially if you’re using a content delivery network. Although, there are limits to the amount of UI complexity static sites can support.

    Gatsby bridges the gap between JAMstack static sites and traditional web apps. You write React components that compile to HTML plus …

    Read More
  • By Tilde Thurium
    Getting started with Deno 1.0 getting started with Deno 1.0

    Since 2018, the creator of Node.js has been working on a new JavaScript runtime called Deno that addresses some of the pain points he had identified. Deno’s features include:

    •  An improved security model
    • Decentralized package management
    • A standard library
    • Built in tooling

    Check out this blog post for a full overview of Deno’s features and how it compares to Node.js.

    Deno 1.0 was just released. What better time to dive in? In this post we’ll get started with Deno by building a small project.

    When I’m learning a new framework or language, I try to find a Goldilocks project. That is, not too hard, not too soft, somewhere between “hello world” and production ready code.

    Let’s write a Deno script that sends you an SMS affirmation. In order to do that we'll use Deno to:

    • Read a file
    • Read environment variables
    • Run a script
    • Import and …
    Read More
  • By Tilde Thurium
    10 HTTP status codes that sound like relationship problems 10 HTTP status codes that sound like relationship problems

    404 Not Found and 500 Server Error are probably the most famous HTTP status codes, but many others exist.

    For some reason, a lot of the lesser-known HTTP status codes sound like descriptors of relationship problems. In this post we’ll explore them.

    If you’re already familiar with how HTTP response cycles work, you can skip HTTP Requests 101 and head straight to the good stuff in the next section.

    HTTP Requests 101

    HTTP requests involve at least two computers. The computer asking for the data is called the client, and the computer sending the data back is known as a server. This dance is called the request-response cycle.

    Illustrated diagram of the request-response cycle. A purple computer with heart shaped eyes and feet, labeled "client" has an arrow with the words "request" pointing towards the other computer, which is pink and labeled "server." The server has an arrow pointing back towards the client, with the text "response."

    When the server returns a response, it also sends back a status code to provide more information. The status codes are grouped into buckets based on their starting digit.

    • 1xx indicates a status update on a request that’s still in …
    Read More
  • By Tilde Thurium
    Writing to Airtable from your Twilio app Writing to Airtable from a Twilio serverless function

    Airtable is an awesome product. It’s like a cross between a spreadsheet and a database, but with a lot more flexibility for creating dynamic views of your data. In this post you’ll learn how to write to Airtable from a Twilio application. The advantages of doing so are as follows:

    • Rapid prototyping. If you need to persistently store data, it’s easier to create an Airtable base than to set up a proper database.
    • Maintenance flexibility. Folks who don’t know how to code can easily maintain and extend the data.
    • Seamless authentication. Sure, you could use Google Sheets as a lightweight database, but authenticating with Google Sheets API can be tricky.

    Today we’ll be building a Net Promoter Score (NPS) app that writes data from SMS messages to Airtable. NPS is a calculated value summarizing how a group of people feel about something -- a brand, an event, …

    Read More
  • By Tilde Thurium
    Using Airtable as a database for your Twilio app Using Airtable as a database for your Twilio app

    "Air Hockey" photo by LadyDucayne is licensed under CC BY 2.0.

    Airtable is an awesome product. It’s kind of like a cross between a spreadsheet and a database, but with a lot more flexibility for creating dynamic views of your data. In this post you’ll learn to read Airtable data from a Twilio serverless application. The advantages of doing so are as follows:

    • Rapid prototyping. If you need to persistently store data, it’s easier to create an Airtable base than to set up a proper database.
    • Maintenance flexibility. Folks who don’t know how to code can easily maintain and extend the data.
    • Easy authentication. Sure, you could use Google Sheets as a lightweight database, but authenticating with Google Sheets API can be tricky.

    Today we’ll be building an app that returns facts about animals, but you can customize this code to fit your use case.

    Prerequisites …

    Read More
  • By Tilde Thurium
    5 obscure HTTP methods to impress your hipster friends 5 obscure HTTP methods to impress your hipster friends

    GET, POST, PUT, and DELETE are classics for a reason but also they’re soooo 1999. In this post, you’ll learn about 5 HTTP methods you’ve probably never heard of.

    If you’re new to web development, you may want to check out this guide to REST APIs first.

    1. PATCH

    Image of a small dog with a peg leg, an eye patch, and a pirate hat with its ears adorably poking through.

    "Pirate Dog" by Tony Werman is licensed under CC BY 2.0.

    PATCH is similar to PUT, but with a couple of key differences.

    Let’s review the difference between PUT and POST, because TBH I need to look it up every time. PUT is idempotent and POST is not.

    I·dem·po·tent, /ˌīdemˈpōt(ə)nt (adjective)

    An operation is idempotent if it produces the same result no matter how many times you run it. In terms of APIs, let’s say you had a  /v1/corgis/create endpoint. If you made a POST request to /v1/corgis/create?color=fawn twice, you’d have created two fawn corgis. If …

    Read More
  • By Tilde Thurium
    Forwarding SMS and voice calls to an alternate phone number Forwarding SMS and voice calls to an alternate phone number

    Balancing privacy and convenience can be tricky. Today I’ll show you how to forward messages and phone calls with Twilio so that you can give out a phone number where people can reach you, while keeping your real phone number a secret.

    There are lots of reasons you might want to hide your real phone number. For example:

    • Transacting with internet strangers such as buying/selling on Craigslist
    • Giving delivery folks a number to reach you
    • Putting a phone number on your business card

    Prerequisites to create a forwarding number

    • A Twilio account - sign up for a free one here
    • A Twilio phone number with SMS and voice capabilities
    • A phone number you want to forward calls and messages to. For the rest of this post, we’ll call it your cell phone number to simplify things but it can be any number with SMS and voice capabilities.
    • A friend …
    Read More
  • Newer
    Older
    Sign up and start building
    Not ready yet? Talk to an expert.