CodeLens
Inspiration
CodeLens was inspired by the need for a comprehensive tool that not only executes commands and programs but also provides valuable insights, quick error fixes, and assistance for any project. The vision behind CodeLens is to help anyone new to coding or even new to a specific programming language an easy to use tool to get a report of their run including any errors they may have run into, an explanation of those error (without most of the technical jargon) so that anyone not well versed in a language can understand what they might be doing wrong, and providing a log of previous runs so users can see their progress understand how they improved. We see CodeLens being used by anyone who may need help with their project, for example a student going to office hours or a new grad at their new job who may need help from a mentor, and providing them a better alternative to them trying to explain their code by creating a clear log of what happened in their run and minimizing the technical jargon, so that the coder in need better understand what they might have done wrong and any mentor willing to help better understands the context of what went wrong so that they can get to the part of helping (the best part!) much, much quicker.
What it does
CodeLens is a command-line companion that goes beyond execution. It provides detailed insights into the time taken, memory usage, and errors generated during command execution. Additionally, it employs AI to offer quick fixes and solutions for encountered errors for anyone who might have easily fixable issues. It also keeps track of previous runs of your project so that you can see a timeline of your development and how you improved as well as how your project grew.
How we built it
CodeLens is built using Python. We built the program to work primarily for the command line interface since most people would test their code there. We also used libraries to handle executing other files and some other tricks to make it look nice in a terminal environment.
Challenges we ran into
During the development of CodeLens, we faced challenges in integrating the Gemini AI model, extracting useful information from errors, and capturing performance tracking of the subprocess. We spent a lot of time discussing and working together to get past these issues and put out what we feel is a better end-product.
Accomplishments that we're proud of
We are proud to learn a lot about how to make a tool in the CLI that isn't a class project, and we learned a lot about python and how to handle logging information as well as how to handle various situations of running separate pieces of code and keeping errors contained.
What we learned
Throughout the development of CodeLens, we gained insights into how to monitor metrics of a process, running subprocesses, parsing with regular expressions to find important pieces of data, and how we can incorporate AI into a project. We also learned a lot about python specifically in use cases where it runs other pieces of code and how python can be used to handle many errors.
What's next for CodeLens
We're not done yet! Due to limitations on time and how various languages handle errors in very different ways, our support primarily extends to python projects at this time. However in the future we look to expanding functionality so many more projects can have the same kind of support!
Feel free to explore CodeLens, and let us know how it elevates your programming experience!

Log in or sign up for Devpost to join the conversation.