Slide 1

Slide 1 text

JS Freakin’ Everywhere A Chatbot Powered by AWS+NodeJS

Slide 2

Slide 2 text

Me, a year ago. Ecstatic Art Driftwood Flea Market Buddhist Retreat 100% NO JS

Slide 3

Slide 3 text

Along came a startup founder... We made a bot! It helps people! Help us build it!

Slide 4

Slide 4 text

Who sat down beside me... And it has a punny name!!

Slide 5

Slide 5 text

And enticed Miss Pammy to code And we’re building it all in something called “NodeJS”!

Slide 6

Slide 6 text

And we’re off to the races! From 0 to Scalable in 5 weeks. AWS Lambda AWS DynamodB AWS Beanstalk

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Why Lambda?

Slide 9

Slide 9 text

SysOpsJS AWS Lambda Log Processor Cloudwatch BigQuery AWS Lambda Cloudwatch SlackBot Cloudwatch Slack deploy.sh Upload Notify Checks

Slide 10

Slide 10 text

BUT WHAT ABOUT NLP?? 99% buttons

Slide 11

Slide 11 text

We still have NLP tho...

Slide 12

Slide 12 text

NLP in JavaScript..ish! Python Classifier Training JavaScript Online Classifier svm intercepts svm weights tfidf scores mood matches

Slide 13

Slide 13 text

That takes time! Fine, we need to take time! How are you feeling? I’m excited about tonight Oh, that’s great to hear! • • • NLP! 500ms Twiddle thumbs

Slide 14

Slide 14 text

Our “CMS” We need a way to collaboratively write content for Woebot! And we want to A/B content! And we want to write variants! And lesson queueing! And conditional content based on variables! Also, we need it tomorrow!

Slide 15

Slide 15 text

Google Spreadsheets to the rescue!

Slide 16

Slide 16 text

Spreadsheets + JS = So Happy Together! Google Apps Script Linter Google Apps Script JSON Exporter Google Apps Script Github Client New commit: content.json

Slide 17

Slide 17 text

Duh, we have a website Beanstalk

Slide 18

Slide 18 text

COMING SOON! Mobile…. AND HIPAA! Hip-hip-hooray!

Slide 19

Slide 19 text

What’s great about JS on AWS? Scalable! Fast to develop! Rich ecosystem! Easy to use across the FULL stack! Not so great tho? Lack of NLP libs! Slow computation! Less encryption libs!