Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m

Next lesson playing in 5 seconds


Free Preview: Create Your Own Alexa Skill


  • Overview
  • Transcript

Technology is getting more and more integrated into everyday life. Now, with devices like Amazon Alexa, software is moving into users' homes and lives in a whole new way. If you are looking for a new way to reach clients and engage with them on a daily basis, then Amazon Alexa is where you need to be! By creating a new Alexa skill, you can allow users to interact with your app using their voice.

In this course, Derek Jensen will show you that creating your own Amazon Alexa skill from scratch is easier than you thought. You'll learn how to build a new Alexa skill using Amazon Web Services and Node.js.

1. Introduction

1.1 Introduction

As purveyors of software, we are constantly needing to push our skills and take advantage of new technologies. This used to meaning learning new frameworks and libraries, or even language. But now we are getting to the point where we need to learn new ways of interacting with our users. And these days that includes more than just their computers, watches and mobile devices. What about their kitchens, garages, cars and other things in their daily lives? Seem too complex? Not with the explosion of interactive devices such as the Amazon Alexa. This device creates a brand new way for us to write software and put us not only into our customers lives but also into their homes. So let's take a few minutes together to learn the basics of this very cool device, and how to write some simple software to run on it. And by the end of this course, you will learn how to create a full Amazon Alexa app with nothing more than a couple of web interfaces and just a sprinkling of JavaScript. So what are we waiting for? Let's get started.

1.2 Prerequisites

Now before we get started actually creating an Alexa skill or a couple of Alexa skills, there's a couple of prerequisites and a little bit of setup that we need to do. Now first and maybe not quite as obvious is that if you are going to be following along with this video and you're going to be doing Alexa skill development. And you find yourself saying the word Alexa a lot, then you may want to disable, or unplug, or turn off any of your Alexa enabled devices. Because the more and more you say it, the more and more the device will recognize that cue, and then you'll be saying all sorts of things and then your Echo will start responding, and then it's everything's gonna get rather confusing. So if you're in an environment where you do have an Alexa-enabled device, then you may want to, as I said, turn it off, disable it or whatever as you're going through this process. And then, obviously, you can re-enable it later on. Now before you can get started you need to have a couple of things. Because Alexa is an Amazon product, or it's enabled through Amazon products. Then your going to need a developer account at Amazon. So in order to do that you simply have to head over to developer.amazon.com, and you can go ahead and click Sign In and create an account. And as you can see here then you can start creating services and applications that use Alexa, the App Store, AWS which we'll talk about in a little bit and other things like that. So this is a free set up. So you just go ahead and sign in, and create an account, and be ready to go when it's time to start doing the actual development. Now also, the process of creating Alexa Skills is really, it's a very complex thing. And if you start to read tutorials in different areas, even on the Amazon website, things can get kind of confusing rather quickly. So what I'm gonna do, my goal of this course. Is actually to boil it down to the absolute basics, the nuts and bolts and really get you up and running as quickly as possible. And in order to that, we're gonna be using another Amazon technology known as lambda functions. And basically, what this is going to allow us to do is to create a backend for your Alexa app or your Alexa skill to talk to. So in and of itself, the Alexa skill can't really do anything. A requirement of creating this skill is to have some sort of backend, say server application. Now there's many different ways you can do this, but we're going to focus on kind of the path of least resistance. And in order to do that we're going to, like I said, using the Amazon lambda functions. In order to do that we're going to need an AWS account. So once again, you can head over to aws.amazon.com and go ahead and create an account. Now, you may say, well I have already got and Amazon account. Can't I just use that? Well, it doesn't necessarily work that way. These are kind of different sections of Amazon that you need to either create an account for or enable on your existing account. So just kind of keep that in mind. So if you can follow along with an Amazon account you already have, great if not then you need to these two places and make sure that you have an account and access to them. Now AWS, yes it can be a paid product or paid services but if you go ahead and create an account, it will ask you what type you want and you can create a free account. And I believe something like the first 1 million requests per month, or something like that, are free. So everything that we're gonna do in this course is going to be free. It's not going to cost you anything. You will have to enter in a credit card or some form of payment. Just to have on file that they will not bill unless you go over that amount, which for this particular course you won't, so you won't have to worry about that. Now, with just those two things, you should be pretty much ready to go. But in order to really take full advantage of the development process you may want to consider using a couple additional tools. Now most of the things that we're gonna do here you can absolutely do via a web browser and be just fine. But when I start to really dig into writing code I like to have a local development environment. I like to use my own tools locally on my computer or my laptop or what have you and not have to rely on tools that are web based, out on a website somewhere. So in order to do that, I'm gonna create a development environment on my machine. And you can follow along that way if you would like. I'll show you how to do it both ways, actually via the web and via local, and then uploading your code up to AWS. But I'm gonna be using Node.js, which means I'm going to be using or writing my code in JavaScript. Now you can create other server side applications that are going to handle and kind of support your Alexa Skills using Ruby and C#, and all these other technologies. You can absolutely do that. But I'm once again gonna be using something simple and that's gonna be JavaScript. So in order to do that, I'm gonna be using Node.js, mainly for the Node Package Manager or NPM. So I'm gonna make sure that I have this installed. I already have Node installed but if for some reason you don't, then you can head over to Node.js.org and go ahead and download the latest version. I'm gonna be using the 8 version, not the most current version. But you should be able to get by with either one, that would be fine. Then, and along with that I like to use a text editor locally and I'm gonna be using Visual Studio code like I've been doing for quite some time. I really enjoy this it's got a lot of great plugins and the ability to be extended if you want to extend it yourself, but you can be using any text editor you want. You could use Atom, you could use some built in text editor on your platform. TextEdit or Notepad or what have you, that will all work just fine as well. And then you'll need also a terminal application that you are comfortable with using. You could use the built-in shells on Unix, and Linux, and macOS, or you could be using command prompt on your Windows machine. I tend to use iTerm2. I'm running on a Mac. This is my favorite terminal application. And that's the one I'm going to be using. So once we kinda have all of these stuff set up and you have accounts in the appropriate Amazon areas, namely developer.amazon and AWS, you are going to be ready to go. So let's go ahead and get started.