Inspiration

What inspired me to create this project was that FGLI students can be disadvantaged in creating passion projects mostly due to not having as much income to spare on support or mentorship. But for anyone, it can be very challenging to think of, execute, and pursue passion projects, no matter the purpose whether it is to get into a top school, show off to friends, or even make it a life-long pursuit.

About Passion Pal & Key Features

The app has some key features: it can help students by letting the student enter into the chatbot any question, concern, comment, etc. about a passion project or a specific one the student is working on. They can even toggle on and off a panel allowing users to create, name, and go into different chat windows or projects they wish.

How I built it

We first built the app by using Google's Gemini API to create a basic text-based chatbot, then added different UI elements mentioned above that allow users to create projects, etc. But for the projects and managing chat history, etc., we implemented MongoDB and Mongoose to store, save, and load this data. We also implemented guardrails used to ensure the chatbot stayed on the topic by using a base prompt and helper prompts as well as the bad-words npm library to prevent and throw a 404 error when the user enters some type of profanity in the chatbot. For the front end, I used CSS for positioning and Bootstrap elements for layout and design with HTML for the skeleton of course.

Challenges I ran into

We ran into the issue of not being able to tailor the chatbot to only focus on passion projects instead of a general chatbot like ChatGPT. We even ran into other issues such as the use of profanity in the chatbot and creating and managing projects in the database.

Accomplishments that I'm proud of

I am extremely happy that we were able to create the chatbot in the first place as I am new to the world of AI and prompt engineering. I am especially proud that I was able to implement prompt engineering and a guard rail and delve deep into node js as well by learning how to use async functions, posts, get, and many more advanced functions and commands. I am especially happy that I was able to and learned to integrate so many of these tools and frameworks to create one, singular, functional application.

What we learned

I learned how to take advantage of LLMs to create super easy-to-use and helpful chatbots for any topic with guardrails and safety measures and even additional features to make chatbots helpful, supportive, and efficient for users. I even took advantage of some of the Project: Empower workshops that were held to fine-tune create and implement recommended features into my chatbot.

What's next for Passion Pal

Next, I want Passion Pal to be able to take it a step further by also implementing some sort of mind-mapping function where users can even use AI to help mind-map and brainstorm ideas (or just visualize) to then better help and assist them with executing their passion projects (all within the same application).

Share this project:

Updates