Project Info
This project did not submit a demo video on Devpost.
Inspiration
I was inspired to create this personalized affirmation app because sometimes I feel like I’m not good enough, and looking at my achievements helps me stay motivated.
What it does
Our application searches the user's email and calendar history, for documents it can use to uplift the user. It proves the self-deprecating users wrong and affirms people of their self worth.
How we built it
Backend and AI Integration: Using Flask as the backend framework, we connected the frontend with AI functionalities. We integrated LangChain and Google Gemini API to enable a Retrieval-Augmented Generation (RAG) model that processes context and provides personalized responses. Google Calendar API and Gmail API were used to gather user-specific context, such as past events and emails. Data Processing and Retrieval: We used LangChain’s text splitting capabilities to handle large amounts of data, splitting the context into manageable chunks. Chroma and Google Generative AI embeddings allowed us to efficiently store and retrieve relevant information from this context, ensuring quick and relevant responses. Frontend: The frontend was built using HTML, CSS, and JavaScript, providing a smooth, responsive interface where users can interact with the chatbot in real-time. Flask handled all communication between the frontend and backend, ensuring the user’s requests were processed and responded to efficiently.
Challenges we ran into
Frontend-Backend Integration: Since it was our first time connecting the frontend (HTML, CSS, and JavaScript) with the backend using Flask, we faced difficulties in properly implementing the communication between the two. Getting the data flow and requests to work smoothly took time and troubleshooting. Code Structure Issues: As we kept adding new features and functionalities, we realized that our initial code structure wasn’t scalable. This caused confusion and delays, as we had to reorganize and refactor large portions of the codebase to ensure everything functioned correctly. RAG Model Challenges: Our Retrieval-Augmented Generation (RAG) setup wasn’t working initially. The LLM responses were not properly using the context from the Calendar and Gmail APIs. We had to dive deep into debugging, ensuring that the context was passed correctly to the model for relevant, personalized outputs. CORS Issues in Flask: Setting up cross-origin resource sharing (CORS) was a significant challenge for us. Since Flask was handling backend requests, we needed to enable CORS to ensure the frontend could communicate with the backend without issues, which took extra time to configure properly.
Accomplishments we're proud of
We are happy that we could integrate the back-end and front-end while using different frameworks in this project. Even though some of our members were new to the technology, the final product worked. Despite being fairly new to the Gemini 1.5 API, our team successfully implemented it in our project to get the responses.
What we learned
Working on this project exposed us to different technologies, and the workshops throughout the event gave us key insights into the latest technologies being used in the industry. Working in a time-crunch environment taught us to stay focused and continue pushing despite receiving errors and bugs. Overall, we learned the importance of teamwork and planning required to succeed in a project.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
- FlaskClaimed
- JavaScriptClaimed
- LangChainClaimed
1 of 4 appear in the indexed code. 3 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
22 KB
Source files
3
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
soysaucewaso/calhacksbackend2024
4 files · 22 KB · @ ceb4dab
Structure
Application logic
4 files · 100%Domain rules, services and shared utilities.
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python100%
Share of indexed source by file size. Binary and vendored files are excluded.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.