Inspiration

This project was born out of our shared experiences as software engineers navigating the complexities of the onboarding process at different companies. We recognized the need for a more seamless and efficient approach to onboarding, especially in regards to learning new large codebases and so we were inspired to create a solution that streamlines the process for others in the future. Oftentimes, even the most experienced developers find it overwhelming to understand large codebases, new concepts involved in it, and complex system architectures especially if it is an unfamiliar programming language. So, with recent innovations in the domain of Natural Language Processing (NLP), we wanted to leverage the power of LLMs to simplify this process and help developers.

What it does

Our novel Chrome extension namely Code God revolutionizes the process of understanding large codebases by utilizing AI to analyze codebases. It can provide information about a specific function, file, or how multiple functions work together. Code God also features intelligent code navigation, automated code documentation generation, and context-aware code suggestions. With our extension, developers can quickly grasp complex code bases, find relevant information, and streamline their coding workflow with much higher efficiency.

How we built it

We built Code God using a combination of programming languages such as Python, JavaScript, HTML, and CSS. The front end of the Chrome extension uses React while the back end is developed using Flask which utilizes a popular AI framework called LangChain to enable users to talk to OpenAI's GPT-3.5 API or other LLMs like Dolly. The extension integrates with popular code hosting platforms, such as GitHub, GitLab, and BitBucket to download the codebase and process it into smaller chunks, and uploaded it to a vector database called DeepLake. Then, a retriever helps us retrieve the relevant files from the database to supply LLM based on the user's question which limits the context of the LLM API request. The returned answer is sent to the Chrome extension so the user does not need to switch tabs or google or navigate elsewhere to find an answer about the codebase, saving time and effort for users.

Challenges we ran into

During the development process, we encountered several challenges.

Front-End Challenges

  1. Learning how to develop Chrome extension.
  2. Developing a good-looking and user-friendly UI.
  3. Automatically fetching the repository link once the extension is activated to begin the AI pipeline.

Backend Challenges

  1. Processing the codebase in a way that it can act as context for the LLM.
  2. Finding the balance with the retrieval options without exceeding the model's token limit.
  3. Improving the latency of the requests, and processing the repository.

Accomplishments that we're proud of

We're incredibly proud of successfully developing a robust and user-friendly Chrome extension that effectively addresses the challenges developers face in understanding codebases. Our accomplishment lies in creating a tool that can significantly improve developers' lives, reduce onboarding time, and enhance code comprehension. We also take great pride in being the creators of a unique Chrome extension that has never been created before.

What we learned

Throughout this project, we gained valuable knowledge regarding the complexities of code understanding and the potential of AI in addressing these challenges. We learned about the importance of data preprocessing, and integrating AI technologies into practical applications. We also learned how complex solving latency problems can be and learned the importance of cloud-hosted vector databases. Broadly, we learned how to make an AI-based Chrome extension.

What's next for Team Tok'ra

Moving forward, Team Tok'ra plans to further improve the functionality and performance of our Code God. We aim to add support for more models, make inference faster, improve code suggestions, and incorporate advanced debugging and code analysis capabilities using LangChain's AI agents.

We also plan on launching the extension on the Chrome Web Store and exploring potential opportunities to commercialize the product. We are excited to continue iterating and expanding the capabilities of Code God to better serve the needs of developers worldwide.

Built With

Share this project:

Updates