Inspiration
I have spent my fair share of this year using chatGPT to help me with my studies. But I always had to keep switching tabs to maintain context. I figured it would be useful if I could have a ChatGPT like experience with the addition of a google docs experience. This would immensely simplify my note taking capabilities and keep me focused.
What it does
Study buddy is just a proof of concept that you can have a text editor with your AI assistant just to the side ready to help you. A user creates a new study session, and gives it a name, session description and the topics covered. These are then used in any questions the user poses to the AI Agent.
How we built it
I am primarily a rails developer and I will be taking an internship soon with a company that also uses rails so I figured I would try and use some of the libraries they use as well to get in some practice. I built the project using ruby 3 and rails 7, powered by hotwire turbo for front end updates. The Service interacting with the backend is basically a script that allows streaming of responses.
Challenges we ran into
The live streaming was a problem on the UI side of things because it kept doing double updates. So for instance if the chunks of responses sent are ["I am not a biology expert but", "I will help you with your query"] The UI would update to have "I am not a biology expert but I am not a biology expert but I will help you with your query I will help you with your query" I could not figure out the bug so I eventually just update the UI with the full response which is slower.
Accomplishments that we're proud of
Because of time constraints with other aspects of my life, I built most of the project in 3 days. I am proud of how fast I came up with the design. I have a lot of features I am yet to implement and would love to keep building upon.
What we learned
There was some aspect of prompt engineering. Whenever a user creates a study session, they also specify the topic in tags. When queries are posed to the sambanova agent, these queries are passed along as well so as to help with better responses.
I also learned how to build an autosave function for the trix editor and a lot with regards to turbop and hotwire.
What's next for StudyBuddy
More features surrounding interactive tools and personalised study plans. I would also implement some features for note summaries and practice exams.
Built With
- fly
- postgresql
- ruby
- ruby-on-rails
- tailwind
Log in or sign up for Devpost to join the conversation.