AI Chatbot with Persistent Chats
Full-stack AI chatbot application with persistent conversation history, modern chat interface, and production-ready deployment on AWS EC2.
What needed solving
Building a functional AI chatbot is straightforward — but building one that feels natural, retains context across sessions, and is production-ready is a different challenge. The goal was to ship a full-stack AI chat application with persistent conversation history, a clean modern UI, and a reliable backend deployment that could handle real usage.
How I solved it
Built a full-stack AI chatbot with React on the frontend deployed on Vercel, and a Node.js + Express backend running on AWS EC2 with PM2 and Nginx. MongoDB stores all conversation history, allowing users to start new chats, revisit previous ones, and experience a seamless AI thinking indicator during response generation.
A look at the product





Key Features
- Persistent conversation history — start new chats or revisit previous ones
- AI thinking indicator for clear response generation feedback
- Modern chat interface with clean sidebar navigation
- Full conversation switching without page reloads
- MongoDB-backed storage for reliable chat persistence
- Production deployment with PM2 process management and Nginx reverse proxy
Architecture
- 01React frontend with component-based chat UI deployed on Vercel
- 02Node.js + Express REST API handling chat requests and conversation management
- 03MongoDB for persistent storage of conversation threads and message history
- 04OpenAI API integration for AI-generated responses with streaming support
- 05AWS EC2 backend deployment with PM2 for process management
- 06Nginx reverse proxy for SSL termination and request routing
Results & Outcomes
Full-stack production deployment across Vercel and AWS EC2
Persistent chat history with instant conversation switching
Sub-second UI response with AI thinking indicator for clear UX feedback
Scalable backend architecture ready for multi-user expansion
Want a similar solution?
I'm available for new projects. Let's talk.