Preparing a pull request:

  1. Go to master and run

git pull origin master (to fetch all the recent changes from remote)

  1. Go to [branch-name] and run

git merge master (to merge the changes I did into your branch)

  1. now run

git push origin [branch-name] (to update remote with your branch after the merge with master)

Don’t be confuse 🙂 You are merging master into your branch to be synced with master, pull request (once approved) does the other way around.



Weather-outfit algorithm

  • set current time
  • set bucket
  • if not evening bucket:
    • set max time as end of next bucket
  • else
    • set max time as end of this bucket
  • iterate on temperature from now till max time
    • set min_temperature
    • set max_temperature
    • set max percepitation chances
    • set max wind gahst


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.