Inspiration
We always enjoy working with our friends, but oftentimes, we can end up getting off-task and work doesn't get done. We knew that there must be a better way to allow for you to work with someone while accomplishing your tasks. Our team wanted to create an assistant who would motivate you like a friend, while helping break down a daunting assignment into more manageable goals.
What it does
StudyBuddy is an AI-powered virtual friend that helps a person set clear goals and finish their work. First, the user inputs the assignment they want to complete into the chatbox. Then, our AI breaks down the assignment into clear objectives with a specific amount of time to complete each part. The objectives are placed in a checklist and StudyBuddy will guide you through finishing all of them. While completing your assignment, StudyBuddy will set timers for you corresponding to specific tasks.
How we built it
Our team developed the front-end for the website using HTML, CSS, and Javascript. We were able to implement the timer and checklist features using jQuery (DOM manipulation, AJAX calls). The back-end of our website was made primarily with the Flask framework. To create custom task-lists and corresponding times, we queried the OpenAI API, using the davinci model.
Challenges we ran into
One of our biggest challenges initially was deciding what tech stack to use. Our team did not have much experience with web frameworks and working with the OpenAI API, but after experimenting with code, we chose to use Flask to support the back-end as it was flexible and easy to implement. On the front-end, a challenge was to combine all of the different features(animation, timer, checklist, and chatbot) into one stylish page. We struggled for a while trying to find the best way to layout the page and best utilize the screen space. After lots of testing, our team figured out how to properly use grid layouts and custom CSS styling. On the back-end, a major challenge was connecting data from the back-end to display on the front-end, especially since we ended up using a combination of Javascript and Python for many of our functions. We resolved these issues by careful research and more testing!
Accomplishments that we're proud of
We’re proud of successfully integrating the different programming languages using in our website with each other, the functionality of the chatbot, and the timer and checklist features which draw from the AI’s response.
What we learned
This weekend was a challenging but a welcome one as we got to learn quite a bit through our project. We learned a lot about creating a project with a website framework and connecting it to an API, as well as user interactivity. We also gained knowledge about OpenAI models and how we can prompt them to return more accurate results. Our team hopes to use this knowledge in our future projects as well.
What's next for StudyBuddy
While we accomplished a lot this weekend, there are still many ideas that we could include in the future of StudyBuddy. We want to be able to use more of the AI’s functionality, asking it for specific advice based on the user’s assignment and implementing a personalized motivation style that allows the user to work with an AI attitude that best suits their needs. Another area we want to focus on is user interactivity, letting them ask for more time for a task and interact with the AI about their assignment directly more.
Log in or sign up for Devpost to join the conversation.