Multi-Channel Conversational Bot with NLU and Live Chat
Overview
A multi-channel conversational bot built on the Botkit framework, supporting both Facebook Messenger and an embedded web chat widget. It blends NLU-driven automated intent handling with live, human-agent chat and content/news features.
Why It Exists
The platform needed a single bot codebase that could engage users across web and social channels, understand free-text requests, escalate to a human when needed, and serve curated content, without standing up separate stacks per channel.
What We Built
- A Botkit 4 application (
bot.js) wired with the Facebook and Web adapters and MongoDB-backed storage. - An intent-processing service (
services/ProcessIntent.js) backed by an AWS Lex middleware for natural-language understanding. - Feature modules for
chat,lex,news,typingindicators, andwebsocket_featuresenabling real-time, bidirectional interaction. - Google Cloud Translate integration for multilingual handling and the AWS SDK for cloud services.
- A
Dockerfile(Node 11 base) andbuild.shfor containerized deployment, with SCSS-styled public assets for the web widget.
Technologies & Approach
Node.js with Botkit as the conversational core, AWS Lex for intent classification, MongoDB for conversation state, and WebSockets for live chat and typing presence. Containerized with Docker for repeatable deployment.
Outcome / Impact
Delivered a working omni-channel bot combining automated NLU responses with human handoff and content delivery, an early, practical conversational-AI integration spanning social, web, and cloud NLU services.
Capabilities Demonstrated
- Building multi-channel chatbots (Messenger + web) on a single Botkit codebase
- Integrating cloud NLU (AWS Lex) for intent recognition
- Real-time live chat and typing presence over WebSockets
- Multilingual support via cloud translation
- Containerized Node.js deployment