Inspiration We were inspired by Grammarly, where instead of just providing code completion or debugging, it would suggest improvements to our workflow and provide developers with ideas to improve their work, in real-time.

What it does So far, it has 4 functionalities. The first is, checking complexity of a given function, to let the coder know how complex a particular piece of code is which is then linked to how sustainable a big software will be. Next, we have a functionality to provide edge cases that the coder might not have taken into account, to be incorporated. Furthermore, we have functionality to check if a given class with multiple functions is bloated or not (having too many responsibilities). Lastly, we have AI pair-programming, that replicates the idea of pair-programming, but with an AI instead of actual human sitting side-by-side.

How we built it We wrote Python script to work as the backend, and then used React.js to be used as the frontend UI.

Challenges we ran into Initially, we wanted to automate the process of coming up with UML, Class and Sequence Diagram. However, we realised that it is not re-imagining the process of Software Engineering, and therefore had to think deeper on how we could make the user experience better when developing an application through the Software Engineering process.

Accomplishments that we're proud of Despite our limited knowledge in this field as Y1 students, the fact that we could come up with a working prototype, within a time limit of 24h, makes us proud of ourselves and makes this hackathon very fruitful.

What we learned Instead of using Figma to show the implementation of what we had in mind, we decided to challenge ourselves. We started off with extremely little knowledge of React.js but then with the help of stack overflow and YT videos, we were able to educate and come up with a fairly simple UI that is functional. For the backend, since it was Python, it was more tedious than difficult.

What's next for RefactorGPT We want it to be real-time instead of copy-pasting pieces of code. We also want to make a model, that is trained, and will be able to read the code and highlight portions of the code where refactoring needs to be done or edge cases needs to be taken into account or bloated classes may be present.

Built With

Share this project:

Updates