Internal Chatbot
This case study covers a broader internal chatbot built for employee use. It is separate from the developer portal chatbot because this application has a wider scope: it can answer general questions, support developer-focused use cases, and use different Bedrock agents, knowledge bases, and action groups depending on the request.
Project Summary
The application is built with Next.js and Material UI. The architecture has changed over time as our understanding of Amazon Bedrock and internal AI use cases has evolved. It originally called an AWS Lambda function that interacted with Bedrock directly. The current approach uses Amazon Bedrock agents, collaborating agents, knowledge bases, and Lambda-backed action groups.
The Problem
The goal was to create an internal AI assistant that could support more than one type of question. Some questions needed information from the developer portal. Others were more general or related to writing code, especially in the AWS SDK for JavaScript and Node.js ecosystem. The system needed enough flexibility to route requests to the right source of information without making the user understand the underlying architecture.
My Role
- Built the chatbot experience across the front end and back end.
- Implemented the Next.js UI and Material UI-based chat interface.
- Built support for rendering Markdown responses, including code examples.
- Integrated the application with Amazon Bedrock and AWS Lambda.
- Adapted the architecture as the project moved from direct model invocation toward Bedrock agents and collaborating agents.
- Configured knowledge-base usage for developer portal content and AWS SDK for JavaScript reference material.
Architecture
The current architecture uses a coordinating Bedrock agent that can work with collaborating agents. Those collaborating agents can use knowledge bases for retrieval and action groups backed by Lambda functions for additional processing. This gives the chatbot a path to answer portal-specific questions, general questions, and SDK-related questions through different supporting resources.
Key Decisions
- Used Next.js for the front end because it fit the rest of the internal platform work and let me build a focused chat experience quickly.
- Added Markdown rendering so generated answers could include readable formatting and code examples.
- Added an AWS SDK for JavaScript knowledge base to improve answers for a JavaScript and Node.js engineering environment.
- Moved toward Bedrock agents as requirements shifted toward a more agentic architecture with collaborating agents and action groups.
Challenges
The hardest part of this work has been that the architecture has continued to evolve while the AI tooling itself is still new to the team. Bedrock agents, knowledge bases, and action groups make some workflows easier, but they also add more moving pieces. The answers also are not always completely correct, even with knowledge-base grounding, so the system has to be treated as an assistant rather than an authority.
Outcome
The result is an internal chatbot experience that gave employees a practical way to experiment with AI-assisted answers and gave our team a working foundation for Bedrock agent architecture. It also pushed me deeper into full-stack AI implementation, from front-end interaction design to Lambda services, knowledge-base configuration, and agent orchestration.