Inspiration
After finding out about GPT-3 from our previous courses, the four of us were amazed by the applications of the AI and wanted to explore what we can do with it. Also after years of being in university, it's nice to have a consistent study buddy, even if it's an AI 🥲.
What it does
Using any source of information (ex. course notes, research papers, power point slides), StudyBuddy will parse through the text and utilize the OpenAI API to generate study questions and answers from the source. The question and answers generated can help students study for their courses and get that 4.0 GPA 😎
How we built it
We used Ruby on Rails to develop the web application and utilized Tailwindcss to style the website and make it look pretty. OpenAI has a public API to provide access to the GPT-3 language model. We also found a Ruby Gem to parse PDF's and extract the text per page.
Challenges we ran into
- ActiveCable (i.e., WebSockets) → we had trouble updating the view in real time (without a refresh) utilizing Rail's implementation of WebSockets. Because of the difficulty we could not provide a dynamic UI
- GPT-3 → getting the API to return exactly what we want, multi-line results, creating good context and templates for the AI to use prior to being passed in the data
Accomplishments that we're proud of
- Prototyping the web application incredibly quickly. We were able to produce a simple interface much faster than we have in our previous projects. Gotta love Ruby magic ✨
- The level of polish. Likely the most polished project we have all completed for a hackathon!
What we learned
- First time using Ruby on Rails for most of us
- Styling with Tailwindcss
- Configuring OpenAI parameters
What's next for StudyBuddy
- Further improving the parameters we pass into the OpenAI API
- Provide further organizational features to store notes and questions/answers (ex. folders)
- Getting approval from OpenAI for our project so that we can deploy
- Dark mode 😎
Built With
- gpt-3
- ruby-on-rails
- tailwindcss
Log in or sign up for Devpost to join the conversation.