Inspiration
Studies show that journaling can be a key factor in improving and maintaining good mental health. It decreases anxiety, stimulates self-awareness, and helps the brain to process complex events and feelings. The only thing missing from a good journal session is feedback. That where Thoughts comes in. Share your day and Thoughts will summarize the overall sentiment from your entry, helping you to identify the feelings that come up. Look back on your week, month, or year; and see how your emotions have changed day by day.
What it does
Thoughts allows you to journal with complete freedom, while summarizing how you feel in words and colours. The best part? You can see how you're moods and feelings change throughout the days, and recognize any patterns as they develop.
How we built it
We used Llama 3.2 for our LLM to process a user's thoughts and emotions in a journal entry, and fine-tuned the model to output a summary, alongside a colour that represents the vibe of the entry, and a one-word title. Flask was used to create the endpoints to fetch this data, and interact with the front-end. We integrated this model into a React + TailwindCSS front-end, while storing users and their journal entry data in Firebase's Firestore + Blob Storage. It will be hosted on a Netlify
Challenges we ran into
One of the big challenges we ran into was crafting a prompt for the LLM to set a context for how it was to respond to user input. This response had to be easy to parse and separate into the components we needed. We were able to overcome this after several trial runs to a format that worked well. Other challenges arose around learning to use new platforms such as Llama 3 and firebase. None of us had experience with these so it was a learning curve for all of us.
Accomplishments that we're proud of
This was 2/3 of our members' first hackathon, and so we learned a lot as a team and met some really cool people! Also, we had never integrated a LLM into any app before, so this was a novel technology that we had tons of fun working with and debugging with :-)
What we learned
We learned that hosting LLama on the cloud is much better to allow synchronous work with it. More importantly, we learned how to actually prompt engineer LLama and fine-tune what is returned based on our constraints. On top of this, we learned how to ideate and design a decent looking interface with front-end tools, which was super cool.
What's next for thoughts
On the horizon for Thoughts is deployment using Netlify. Additionally, we want to provide more ways for users to visualize data around their emotions and journal entries over time. We also want to provide more custom feedback and prompts from the LLM to personalize the experience further.
Log in or sign up for Devpost to join the conversation.