Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status codecov

Rolling with Alexa

This repo is the source code for the talk Voice User Interfaces with Alexa and Node.js presented at the Rolling Scopes #49 Kraków edition.

Rolling Scopes #49

Checkout the slides!

Local development

Clone and install

> git clone
> cd rolling-with-alexa
> npm install # or yarn

Alexa console

  1. Signup for an Amazon developer account if you haven't one
  2. Go to the Alexa Console and create a new Skill
  3. Choose the skill Name, and select Custom Skill
  4. Under the Interaction Model sidebar menu, click on JSON Editor and copy/paste the JSON under /model/en-US.json
  5. Save & build your skill.

Local server tunneling

In order to develop locally and see your changes reflected instantly, you will need to create an SSH tunnel or expose somehow your local development server. There are several services that allow you to do this, for example or


This is the easiest to setup

  1. You need to have an SSH client installed, then simply run
> ssh -R 80:localhost:3000
Forwarding HTTP traffic from [https://YOUR_URL]
Press g to start a GUI session and ctrl-c to quit.
  1. Once you see the URL, copy it and go to your Skill console.
  2. Open the Endpoint menu and select HTTPS
  3. Under Default Region paste the previous URL you copied.
  4. On the select box choose: My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority.
  5. You are done! Just run npm run dev or yarn dev to start the local server and begin testing the skill.


  1. Run npm install ngrok
  2. Run ngrok http 3000
  3. Copy the URL and follow the same steps above from 3 to 6.


Feel free to submit a pull request or create a new issue.


No releases published


No packages published