What inspired us: We were inspired by the growing need for an intelligent, user-friendly AI assistant that not only answers questions in real-time but also keeps a seamless record of past interactions. In a world full of scattered information, we wanted to create something that helps users recall past queries, making the AI feel more personal and context-aware. That vision became AskNova – your smart question-answering assistant with history tracking.

What we learned: Throughout the development of AskNova, we deepened our understanding of full-stack web development, including working with modern tools like React for the frontend, Express.js for the backend, and MongoDB for data storage. We also gained hands-on experience integrating a Large Language Model (LLM) API, managing sessions, and optimizing for user experience. Security concepts like CORS, rate-limiting, and CSRF protection were also key parts of our learning.

How we built it:

Frontend: Built using React and Tailwind CSS, focused on a clean, responsive design. The UI includes a chat input, conversation display, and history sidebar.

Backend: We used Node.js with Express to handle API requests, session management, and communication with the LLM.

Database: MongoDB was used to store user sessions, chat history, and usage limits.

AI Integration: We connected to the Gemini 1.5 Flash model using Google’s API to fetch intelligent responses for user queries.

Authentication & Security: Users are identified using secure cookies. We implemented CORS handling, rate limiting, and sanitized inputs to protect against web vulnerabilities.

Challenges we faced: One of the main challenges was managing user sessions in a stateless environment while preserving chat history in real-time. Handling input validation and providing clear error responses was another critical aspect. On the frontend, ensuring a smooth UI/UX while working with async data and API delays also required careful state management. Additionally, securing the app without breaking API functionality took multiple iterations and testing.

Built With

  • and-communication-with-the-llm.-database:-mongodb-was-used-to-store-user-sessions
  • and-history-sidebar.-backend:-we-used-node.js-with-express-to-handle-api-requests
  • and-usage-limits.-ai-integration:-we-connected-to-the-gemini-1.5-flash-model-using-google?s-api-to-fetch-intelligent-responses-for-user-queries.-authentication-&-security:-users-are-identified-using-secure-cookies.-we-implemented-cors-handling
  • chat-history
  • conversation-display
  • focused-on-a-clean
  • frontend:-built-using-react-and-tailwind-css
  • protect
  • rate-limiting
  • responsive-design.-the-ui-includes-a-chat-input
  • sanitized
  • session-management
  • vulnerabilities.
Share this project:

Updates

Submission history