Online Training

Building Chatbots with Node.js

A hands-on exploration of modern conversational UI

July 13 & 14, 2016

9:00AM – 12:00PM PDT

Sign up before this course sells out!

Join Colin Megill for a hands-on introduction to both the theoretical and applied aspects of designing and developing conversational interfaces. Text-only interfaces harken back to the earliest days of computing, long before mobile made Internet access ubiquitous. Messaging, however, remains one of our most powerful and expressive forms of communication. Slack, Facebook Messenger, SMS and WhatsApp dominate a messaging landscape that connects billions of people daily.

Now, however, as bots continue to be enthusiastically embraced, the medium is spreading throughout the Web and apps. Join Colin for an exploration of the landscape of bots, special concerns when building these types of interfaces, and learn to build one yourself with Node.js.

What you’ll learn—and how you can apply it

By the end of this live, hands-on, online course, you’ll understand:

  • The unique challenges of building non-trivial conversational interfaces, including the extraordinary combinatorial complexity that immediately emerges
  • What tools are available to help you build bots
  • What services are available to make your bots smarter faster
  • How to handle ‘less than ideal’ conversational paths and error messages

And you’ll be able to:

  • Build a simple, interactive bot
  • Serialize a form using a conversational interface
  • Integrate your bot with third-party services such as Slack and Hound

This course is for you because…

  • You are a developer who builds consumer-facing interfaces
  • You are a technical lead interested in learning the benefits of conversational interfaces and seeing how easy they are to implement
  • You are a leader or member of a design or business team with an interest in the role of an automated “voice” for the company, the customer experience, and benefits to the business
  • You are one of the people responsible for answering this question: “How should we develop and implement the ‘voice’ of our organization as a bot or web service?"


  • Basic programming experience
  • Familiarity with Git, Github, JavaScript, and Node.js in general
  • Be comfortable using callbacks, require statements, and conditionals (such as if/else statements)

About your instructor

Colin Megill

Colin Megill is founder of Seattle-based startup, a web app that leverages the real time web, interactive data visualization, and machine learning to gather sentiment in an organic, emergent way. Colin’s primary foci are frontend development, product design, information design, and interactive data visualization. He has also designed, architected, and built client-side applications and trained teams for some of the largest brands in the world across multiple industries.

He speaks regularly in the United States and abroad at meetups and conferences, including appearances at Reactive2015 in Slovakia and CSSConf in NYC. Colin lives on Whidbey Island, near Seattle, with his wife Christie and their two wonderful little boys.


  • Day One High-Level Overview & Bot Creation
  • Theory (1 hour)
    • Welcome and overview of schedule of day
    • History and scope of conversational interfaces
    • Design challenges - what we get, what we lose
    • How does the user discover the functionality?
    • How do we handle the combinatorial explosion of possible states?
    • Range of potential use cases, interesting domains
  • Practice (2 hours)
    • Create a hello world slack bot locally in Node.js
    • Serialize a web form via the bot in Node.js
    • Error handling
    • Create a BeepBoop account and deploy the bot you built
  • Day Two Integrating Third-Party Services
  • Theory (1 hour)
    • Discussion of ML articles in pre-req
    • Exploring present limitations, case studies, including and especially Amazon Alexa and and the future of ML powered, domain specific bots
  • Practice (2 hours)
    • Create a Hound account and hook up the bot to Hound domains. Play, discuss.
    • Questions and play, likely with a Microsoft Cognitive Services JSON API.

The course uses a mix of lectures, ebook downloads, Q&A sessions, and live coding examples.