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 Dominik Kundel
    Ahoy Hacktoberfest 2019! Decorative header image saying "Ahoy Hacktoberfest 2019!"

    It's October 1, 2019 and that means Hacktoberfest 2019 has officially started! Over the next month, people from around the world are taking time to contribute to open-source projects. The world of open source has become such an elementary part of the software we all write day-to-day and the things we create! It allows us to share and collaborate with each other. At Twilio we believe in the power of developers and are excited to take part in Hacktoberfest in various ways both online and in-person.

    Here are a few things you'll want to keep an eye on if you are as excited about Hacktoberfest as we are!

    Learn how to create your first open-source contribution

    Creating your first contribution to the world of open source can be intimidating. We get it. It wasn't any different for us. But we wanted to see if we can make it a bit …

    Read More
  • By Dominik Kundel
    Learn How to Contribute to Open Source Decorative header image saying "Learn how to contribute to open source"

    Contributing to an open-source project can often be intimidating. Especially if it is your first contribution. At one point we've all been there. But contributing to open source can also be fun and rewarding once you get through it. We decided to try and help you with your first steps into the world of open source and hopefully make it less intimidating and more fun!

    As a result we are launching today two new projects! The Open Pixel Art project and a brand new Twilio Quest mission focused on taking you step-by-step through your quest into the world of open source.

    Open Pixel Art - A Collaborative Art Project

    Logo with colorful pixels and a pixelated text reading "Open Pixel Art by Twilio"

    One problem doing your first contribution to open source is finding the right project to get started. While there are some great projects that welcome new contributors, we wanted to create something that makes it easy to identify what to contribute. …

    Read More
  • By Dominik Kundel
    Using Twilio Functions with TypeScript decorative header image with "Using Twilio Functions with TypeScript" on it

    With the Serverless Toolkit we can include the development, debugging and deploying of Twilio Functions, Twilio's Serverless Runtime offering, more tightly into our existing development flows. For example we can add build tools such as TypeScript into our project to perform type checks on our Twilio Functions to catch more bugs during compilation time. In this post we'll look into how we can set up a Twilio Functions project using the Serverless Toolkit and TypeScript.


    Before we can get started, you'll need to make sure to have the following things:

    We'll be using the Serverless Toolkit via the Twilio CLI but you can also use it as a standalone. Check out the docs for more on how to use the Toolkit alone.

    If you don't …

    Read More
  • By Dominik Kundel
    Creating a virtual photo booth using Twilio, WhatsApp & Cloudinary ueiPKYUnYGNhEDFMWyk3KgruLhuc2iu1GEA5JD3lUxeZL84E1GmuH5w4UOejAXzZdj7NK7_owncknk3e9-IPSlaGEvt19TclzBKxFkx2eU-el2cwJrNfPqXCldzqrW08DCEreTNV

    If you've ever been to Berlin, chances are high that you've seen multiple photo booths in bars and on the street. Berlin and photo booths just belong together. This year for JSConf EU we wanted to build our own virtual photo booth, powered by Twilio for WhatsApp. In this post, we'll look at how we built the digital part of the photo booth using Twilio and Cloudinary.

    Let's build a purely digital version of this photo booth where when a person sends in an image, we'll perform some manipulations on that picture and send it back.


    Before we get started, make sure you have the following:

    If you prefer to view the next steps as a video to follow along, …

    Read More
  • By Dominik Kundel
    When Not to Use Lock Files with Node.js Decorative header image "When Not to Use Lock Files with Node.js"

    Probably one of the most common situations that you encounter when debugging a problem is the "works on my machine" scenario. This is often the result of different underlying dependencies on the system of the person with the bug and your own system. As a result both yarn and npm introduced so called "lock files" at one point that keep track of the exact versions of your dependencies. However, when you are developing a package that will be published to npm, you should avoid using such lock files. In this blog post we'll discuss why this is the case.

    Quick Summary (tl;dr)

    Lock files are super useful if you build an application like a web server. However, if you publish a library or CLI to npm, lock files are never published. Meaning your users and you might use different versions of dependencies if you use lock files. 

    What's a …

    Read More
  • By Dominik Kundel
    A Guide to Node.js Logging Decorative header image "A guide to Node.js logging"

    When you start developing in JavaScript one of the first things you'll probably learn is how to log things to the console using console.log. If you search on how to debug JavaScript you'll find hundreds of blog posts and StackOverflow articles pointing you to "simply" console.log it. And because it's such a common practice we even started having linter rules like no-console to make sure we don't leave accidental log statements in our production code. But what if we actually want to log something intentionally to provide more information?

    In this blog post we'll look at various situations where you want to log info, what the difference between console.log and console.error in Node.js is, and how you can ship logging in your libraries without cluttering the users console.

    console.log(`Let's go!`);

    Theory First: Important Details for Node.js

    While you are able to use console.log or …

    Read More
  • By Dominik Kundel
    Send Images and Other Media via WhatsApp Using Node.js Decorative header image for "Send Media Messages using WhatsApp & Node.js"

    The Twilio API for WhatsApp allows you to not only send text-based messages to WhatsApp numbers but also send and receive media messages. This allows you to send images (JPG, JPEG, PNG), audio files and even PDFs up to 5MB. Let's see how we can do this using Node.js.

    If you prefer watching a video tutorial instead, check out this video on our YouTube channel:


    First Things First

    Before we get started, make sure you have:

    If you want to try this out make sure to set up a new project by running:

    mkdir whatsapp-media-messages
    cd whatsapp-media-messages
    npm init -y

    Sending Your First Media Message

    Install the twilio …

    Read More
  • By Dominik Kundel
    How to build a CLI with Node.js atZ3n9vMFjjXDl_XxDtL_FCRSOt6EF0d8LnbMRCCJQUesMme8lzdGpCyMr4-wt1nlIGuoT29EI_tkVpuD_P2mxzbfhbn-ZPcqmZ5QCY_nM9d4ywWEYQxKYc9mjxUnp_uFJzMOMnr

    Command-line interfaces (CLIs) built in Node.js allow you to automate repetitive tasks while leveraging the vast Node.js ecosystem. And thanks to package managers like npm and yarn, these can be easily distributed and consumed across multiple platforms. In this post we'll look at why you might want to write a CLI, how to use Node.js for it, some useful packages and how you can distribute your new CLI.

    Why create CLIs with Node.js

    One of the reasons why Node.js got so popular is the rich package ecosystem with over 900,000 packages in the npm registry. By writing your CLIs in Node.js you can tap into this ecosystem including it's big amount of CLI-focused packages. Among others:

    Read More
  • By Dominik Kundel
    SMS Forwarding and Responding Using Twilio and JavaScript WQYMYFAg9558AJMa_xQENKB7Zr6UuQVlw4ABsN9882jjATPJBRI39lv9fjpcrt_Aid547rgTfEYhfbEaSbTJmiNSmji-NICPQdBfBcsIOgwQ9pHUMS5iHbM3KflKPi5UIt5cKV9z

    There are a variety of reasons why you sometimes don't want to give out your phone number to people but still want to receive SMS and be able to reply. Maybe you are trying to sell something on the internet, maybe you want to set up a way for people to report code of conduct violations at an event, or maybe you just don't trust the newly met person that asked for your number. In the past I showed how you can quickly set up a message forwarding with practically no coding using TwiML Bins. However, it doesn't let you respond using that number.

    Let's take a look at how we can change that using Twilio Functions. If you prefer to follow along a video, check out this tutorial on our YouTube channel.


    Creating a Twilio Function

    Before we get started, make sure you have a Twilio account. …

    Read More
  • By Dominik Kundel
    Building an Intelligent Coffee Order System with Twilio Autopilot P4A1qTECQKaGBhSwn-22LCyNgalovf-fVLjm_M5jVRszMsp0rGdQR_XV2GJfH5_9FLVUDfZXz4zmcJwijBa_y0DjM29Q4vpOY8-KX2vNWxd6Xltzs4MnQfwCLbsTvI0ijvMLunzU

    Wouldn't it be great if you could save daily a few, maybe awkward, interactions with other humans and let bots take care of it instead? However, often these bots are not too intelligent when it comes to interacting with you. In this blog post we'll learn how we can build a smarter SMS bot in just a few minutes.

    In a previous blog post we talked about how we love to serve coffee at conferences and other events "Twilio-Style" by allowing attendees to order their coffee via SMS. If you haven't read the blog post, make sure to check out Serving Coffee with Twilio Programmable SMS and React. Unfortunately we had a fairly rudimentary way of handling the orders. Until now.

    Let's see how we can upgrade this existing project using Twilio Autopilot to be truly intelligent.

    If you would prefer to see how this works by watching a …

    Read More
  • Newer
    Sign up and start building
    Not ready yet? Talk to an expert.