TensorFlow.js + AWS Amplify
Building EnjoyingTheShow.com for Real-time Feedback

If you want the TL:DR; you can just watch this video from my chat with TensorFlow on their YouTube channel.
BACK TO the BLOG!
I love speaking at conferences, and most of all connecting with people!

But now it’s 2020… :dumpster-fire-emoji: and I haven’t even left the house.
Fortunately, there’s been a sudden barrage of online conferences that I’ve been able to speak at. In fact, I’m overflowing with meetups, conferences, and events because I can be in Tenessee on Friday, and then present in India on Saturday! The virtual world has made a tight-knit virtual cornucopia of conference potential.
However, there’s one critical aspect missing. When I speak to a crowd, part of how I killed my old speaking fear, was I got myself addicted to connecting with my audience. I speak to connect. And now with online speaking, rather than seeing smiles, nods, and people squishing their faces like I’m virtually pinching cheeks, I see…. the abyss.

I’m basically a dude sitting in his office on a Saturday, looking into a lens, and speaking into a tube. On some fundamental level, I’m not getting the reinforcement that my primate brain craves.
And then I thought of a solution! Inspired by a trip I took 10 years ago, I can use technology to break through the barrier of virtualessness™️ and reconnect with my lovely audience. Hell, I could do it in a way that it’s a free service for everyone to use during this hard time!
And so, I made it! ENJOYING THE SHOW!

What is EnjoyingThe.Show?
It’s the solution to what I’ve been missing. I want to know when my audience smiles and when they are in shock! I want to get feedback.
“But HOW?”
It’s quite simple!
Step 1: I make a webpage that reads your facial sentiment. When you look sad ☹️ it knows you’re sad; when you look happy 😊 it knows you’re happy, etc. I can do this by asking you to enable your webcam, and then using TensorFlow.js (specifically face-api.js) I can detect faces, and categorize their sentiment, all in the browser.
Step 2: Every time your mood changes, the web app sends that off to the server. Happy for 30 seconds and then you switch to neutral? That’s an update to the server! Going through an emotional rollercoaster? That’s a bunch of updates! Unless, of course, you’re Kristen Stewart 🔥🔥🔥 🚒
We can use AWS Amplify for this service. It’s got website hosting, DynamoDB, and GraphQL.
Step 3: The web app subscribes to all the updates. We can use a GraphQL subscription to get realtime updates and pipe them into Victory.
The Result?
Better than I could have ever hoped for!

Awesome! Now, for this to be a public service, I simply need to make sure multiple audiences don’t mix if they hit at the same time. That’s not too hard. In the real world, a room separates each audience, so all I have to do is imitate the idea of a room virtually.
That’s not too hard at all! A little Amplify GraphQL later and TADAAAAA!
It’s like I’m speaking to a room again!
I got to test this with over a hundred people all actively updating in a single room! Special thanks to Amplify Days who had me as their opening speaker!
I also got to demo the app with some amazing people at Google! Subscribe to TensorFlow’s YouTube channel and you’ll get to see the presentation in their “Show and Tell” series which should post in a month!
So try it yourself!
If you’re interested in how the code works, you can read the source code on GitHub, and if you’re really interested in TensorFlow.js / AI in the browser, I have an entire online course on the subject.
If you’re interested in more cool things AI, you can join my monthly newsletter at AI-FYI.com. So whatever your interest, we should be good!

Interested in learning how to bring AI and Machine Learning to web with TensorFlow.js?
JavaScript lets you create front-end websites that can leverage the power of AI directly on the browser. Learn from scratch with this book.

Gant Laborde is a co-owner and Chief Innovation Officer at Infinite Red, published author, adjunct professor, worldwide public speaker, and mad scientist in training. Clap/follow/tweet or visit him at a conference.
Oh Hey! Don’t forget to clap for this article and share EnjoyingThe.Show!
