- [Rick] Jon has covered a lot of ground with Lex, which is awesome. So, now we can leverage that information to help take our website to the next level. First, we want to make our Lex bot smarter, because currently, if we ask our chatbot, "Can my cat go outside in banana?" It's going to say, "You want know if your cat can go outside in banana. Got it." Far from ideal, right? Well, by creating a Lambda validation hook, that Jon talked about, we can make Lex query Dynamo directly, and get temperature information back, and if for some reason, it doesn't understand the city, well, it will just prompt them for a different location. What you'll notice, after implementing this validation hook, is that the very basic chatbot, we, I mean, you created in the Lex console in week one, suddenly, will become a lot more lifelike, because it's actually making decisions during each conversational interaction. Now, it's all well and good having a smarter chatbot, but how are we going to publish it, and help other cat owners around the world solve such pressing problems? We can't just keep using the Lex console for this, as that's only for development. We could have considered wiring this up for Alexa, because it's the same engine, and that would have been a relatively easy export. We could have gone with what Jon showed you - one of the Lex channels, like Facebook or Slack. The challenge there, though, is that's just text, and I wanted to have all of you create a voice-enabled one. So, for this lab, we're going to build a web-based, voice-enabled, user interface, for Lex using JavaScript. We could have used Amazon Polly and Amazon Cognito for some of this, but we really want to save those services for another course. Instead, we're going to cheat, and we're going to use a browser to convert speech to text and text to speech, and simply proxy the message back and forth to Lex via API Gateway. It will feel like you're having a natural conversation with your browser. Don't forget, you'll need to provide all the right permissions for both this proxy function and the Lambda validation hook. Fear not, all of that information is in the exercise notes. After we build our Lambda proxy, and mimic Lex payloads with test cases, we can go over to the website, and ensure we can hold down a, shall we say, "conversation" with Lex via the browser. Then, at last, we will establish if our cat can go out or not. So, to recap, number one, we're going to create the validation hook and set your permissions. Two, you're going to create a Lambda proxy, behind API Gateway, set its permissions, and test it in the console. And finally, three, you're going to go over to the web-based voice- enabled application in the browser and test it. All the code is written for you. All you need to do is follow the exercise instructions. Now, as a final thought, I wouldn't trust Lex to know if I should let my cat out or not, as we're not using real data. We're using random temperatures in the database. If you want to know how to work with Amazon DynamoDB, and real-time data, well, that's something we can look at in a different course. So, off you go. Best of luck with your final exercise, and if you do get stuck, where do you go? That's right - the forums. Have fun.