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.
Log in or sign up for Devpost to join the conversation.