Chatbot Application
This project is a chatbot application built with Node.js for the backend and EJS for rendering the frontend. The chatbot uses a JSON file to store predefined messages and returns responses based on user input. It showcases how server-side logic can handle user interactions, dynamically rendering responses in the browser.

Note: The chatbot is hosted on free-tier services, so there may be a brief delay when loading the demo. Please be patient while it starts up.
Key Features
- Backend built with Node.js
- Dynamic frontend rendered using EJS templates
- Predefined chatbot responses stored in a JSON file
- Message matching logic with fallback responses for unrecognized inputs
- Smooth integration of frontend and backend logic
Technologies Used
- Node.js (Backend)
- EJS (Templating Engine for Frontend)
- JavaScript (Frontend Logic)
- Express (Web Framework)
- JSON (Chatbot Message Data)
- CSS for styling
- Deployed on Netlify/Heroku
Project Gallery


Challenges and Solutions
A key challenge was integrating the EJS templates with dynamic responses from the backend, ensuring smooth real-time interaction between user input and the predefined chatbot messages. This was solved by using Express and EJS together for efficient server-side rendering and dynamic response generation.
Future Improvements
- Add natural language processing for more intelligent responses
- Expand the dataset for a broader range of responses
- Implement user authentication for personalized interactions
- Improve the UI for better mobile responsiveness
Reflection
Working on this project deepened my understanding of server-side rendering with Node.js and EJS, and how to handle user input dynamically with JSON data. It was a great exercise in backend development, and I look forward to further improving the chatbot’s intelligence and responsiveness.