• Note taken on [2016-12-04 Sun 19:58]
  • Starting with the video tutorial here

In order to create the intent data model, it will be helpful to first understand what type of intents I want to support. Basically, I want to set and get information.

Question: do I want to differentiate between different types of information? numbers and strings for exampls. Also, do I want to give variable names to pieces of information, for future reference and extraction?

Mini spec


  • SetClipboard
  • GetClipboard



  • SetClipboard remember {number}
  • SetClipboard remember this {sentence}


  • GetClipboard, get clipboard information

Invocation name

  • Clipboard
  "intents": [
      "intent": "SetClipboard",
      "slots": [
      "name": "Text",
      "type": "LITERAL"


I’m moving to Python. I don’t know what I was thinking, trying to get into node. Well, I thought that’s the only way to integrate with messenger. Fortunatly I was wrong. It was an ok experience, but I’m so happy to go back to python.

State diagram for the bot

Story telling:

First time user

  • I search for the bot.
  • I get to the null screen.
  • I tap the “Get started”
  • The bot says “Hi there {name}. ….”
  • The bot says “Tell me what’s your location”
  • I type “NY, NY”
  • The bot says “It’s cold today. Here’s what you should dress your baby:”
  • The bot shows an image, with two buttons bellow saying: “Itemize and weather”.
  • The bot say “Or:” and show quick replies:
  • When I click on the image, I should see the image in full screen.
  • When I tap on the “Itemize”, the bot respons with explenation on the items and layers.
  • When I tap on the weather, the bot reply with expenation of the weather (Description, temp, – wind)
  • The quick replies are (depending on the current time) “evening”, “tmrw morning”, “tmrw noon”


There are few routes that I can personally take:

  • Spec the hell out of the experience (what experience to start with? bot or mobile app?)
  • Try to recruite someone to develop it
    • How do I plan to compensate this person?
    • Where do I find this person?
    • What about using outsourcing?
  • Start building myself
    • I need to learn the coding environment. Node.js in specific.
    • I still need to have spec, so I know what I’m going to build, and be able to focus my effort on what I need to learn.

What I’m most passionate about?

  • I think I want to build it myself, at least at the begining.
  • I’m in a conflict with myself. I want to build it alone, but don’t help myself do that. For example, I need a clear spec. I need the time to learn. It’s not just following a quick guide.

So, given the above, let’s try to build a plan:

First experience – fb messenger chatbot

Learning and execution plan

Start learn Node.js

Write a state diagram for the bot

Keep learning Node.js

Componenet diagram of the bot

What are the main components? how to connect to 3rd party services?

Design assets

Start with a very simple aggregation of the images that I have. Keep it simple.

Build the different components

Tie in the design assets

I should now have a working poc of a bot.

Hello there. This is going…

Hello there. This is going to be my developer logs, ie dlog.