Inspiration

As our team brainstormed on how to build the project, we decided we wanted to emulate an AI agent, and we thought that chat bots like ChatGPT and Gemini would be the best way to do it. Additionally, we also needed the agent to have access to a Google Drive, so we decided to implement RAG into our chatbot.

What it does

We created an AI chat app like ChatGPT and Gemini except it has acess to an entire Google Drive's worth of knowledge. The chat bot will know where each file is and what it's about so that it can use the relative context to make informed responses.

We also created a drive tagger desktop app that uses Gemini to analyze all the files in a Google Drive, assign them relevant tags, and sorts files in the Drive according to: Year Created, Month Created, Tag Assigned.

How we built it

For the online chat app, we used Next JS and Tailwind CSS for the frontend, Google for authentication, Convex for the database, and Ragie to implement the RAG functionality. Gemini is the primary model of choice.

Challenges we ran into

Auth was a big challenge that we ran into while developing the project. At first we used Clerk for authentication; it had great connectivity with Convex, but we realized that it couldn't be deployed for free, so we had to pivot to other solutions. We went through Next Auth and Auth0 before we decided to use Convex Auth as our final solution.

Another challenge we ran into was the implementation of the AI Chatbot. We were way to deep into reinventing the wheel and did everything manually at first, from updating the message in the UI optimistically to real time streaming of AI responses. Eventually, we found Vercel's AI SDK and used it to completely streamline the AI chatting process into a single file. It was truly an amazing library with so much functionality.

Accomplishments that we're proud of

We were able to accomplish a fully fledged AI chat app! It's similar to ChatGPT and Gemini, but the fact that it has constant access to Google Drive is amazing. Furthermore, with the power of Vercel's AI SDK, we'll be able to expand it even further.

What we learned

The main thing our entire team learned (which was relatively unfamiliar to us) was how to set up a Google Cloud project, including setting up OAuth, getting a Gemini API Key, and setting up the right permissions for accessing a Google Drive.

Built With

Share this project:

Updates