Eppy: Smart Helpdesk Chatbot System
A capstone project delivering a smart helpdesk chatbot system for PT Epson Indonesia Industry, combining AI-powered conversations with a full ticketing and analytics platform for admins.

Understanding the Context
Overview
The Problem
PT Epson Indonesia Industry needed a way to handle repetitive internal support questions efficiently, while still giving employees a clear path to escalate unresolved issues to human admins.
The Purpose
This project aims to build a smart helpdesk system where an AI chatbot answers common questions using company knowledge documents, while unresolved cases can be escalated into trackable tickets, with a dashboard for admins to monitor conversations, feedback, and ticket performance.
My Contributions
Responsibilities
Designed and built the entire backend using NestJS with a layered architecture
Built the AiService as an HTTP client to a separate Python/LangChain AI microservice
Implemented file handling features, including PDF/image uploads to AWS S3
Built a ticketing workflow with admin response handling, and automated email notifications via AWS SES
Developed an analytics dashboard with exportable PDF and Excel reports
Technologies Used
Tech Stack
📱 Frontend
⚙️ Backend
🤖 AI/ML
🛠️ Tools
Core Functionality
Features
AI Chat Integration
Connects to a separate Python/LangChain AI microservice via HTTP to answer employee questions.
Knowledge Base Management
Allows PDF documents to be uploaded to S3 and asynchronously embedded for the AI service.
Ticketing System
Lets users manually create tickets after an AI conversation, with admin response, email notifications.
Admin Dashboard & Reports
Provides chatbot and ticket analytics with exportable PDF and Excel reports, including satisfaction metrics from user feedback.
Visual Design
UI Showcase
Interface design and user experience highlights

Chat interface where employees interact with the AI-powered helpdesk assistant.
Technical Journey
Challenges
Configuring secure connectivity between multiple AWS services (EC2, S3, RDS) with proper IAM roles and security groups.
Isolated configuration per service and centralized environment variable management to ensure smooth inter-service communication.
Inconsistent application behavior between local development and production environments, causing unexpected bugs after deployment.
Adopted Docker for environment consistency and set up CI/CD with GitHub Actions to automate testing before deployment.
Combining the AI and backend databases into a single entity early on, leading to data redundancy and performance issues as RAG data grew.
Decoupled the databases into two independent entities, allowing each service to scale separately.
Running backend and AI services on the same EC2 instance, causing resource contention and instability under load.
Migrated to a multi-instance architecture, separating backend and AI services onto distinct EC2 instances.
Results & Achievements
Impact
Measurable outcomes and project success metrics
Delivered a functional helpdesk system for a real industry partner, PT Epson Indonesia Industry
Successfully integrated a NestJS backend with a separate LangChain-based AI microservice
Built a full admin analytics dashboard with exportable PDF and Excel reports
Next Steps
Future Plans
Add automated activity logging for audit trail purposes (currently deferred)
Introduce role-based analytics views for different admin levels
Improve AI response accuracy through expanded knowledge base coverage
Add real-time notifications for new tickets and admin responses
Implement caching for frequently accessed dashboard analytics