Inspiration
Spending time on things you enjoy is an important part of wellness as it can relieve stress, create opportunities to meet new friends, and help prevent burnout. However, finding and getting into a new hobby isn't always so simple.
What it does
Hobbify can be your friend and coach in (1) making personalized recommendations based on your availability, budget, location or age and your previous hobbies as well as (2) suggesting and keeping track of manageable steps for getting started, such as to obtain a piece of basic equipment within your budget, find a location or meetup, and spend 15 minutes practicing a fundamental technique.
How we built it
Frontend and user input was made using React (TypeScript), and CSS. MongoDB was used to store user, hobby, and task information. Gemini API was used to analyze and generate new hobbies and tasks for getting started. Flask (Python)was used for backend to link the other technologies. GitHub Copilot and ChatGPT were used to help write frontend code.
Challenges we ran into
We ran into a variety of challenges over the last 24 hours we spent building Hobbify.tech. A few of the most notable include the following: Connecting frontend and backend together. Navigating the Google Gemini API. Merge conflicts with Git. Learning how to build a dynamic frontend from scratch.
Accomplishments that we're proud of
We are most proud of the fact that despite all having never participated in a hackathon before we have a functioning project to submit today. Individual members of our team are proud of learning how to use technologies like Flask, Gemini API, Next.Js, Node.Js, React, and MongoDB.
What we learned
We learned more things in the last 24 hours than we can remember, but a few that stand out include learning how to work as a team using Github, integrating Gemini API into a project, and how to get a dynamic frontend working with a complex backend.
What's next for Hobbify
Next steps include implementing additional features related to login, user profile preferences, hobbies, and tasks include:
Profile:
- Securely store passwords.
- Authentication through OAuth and work with other applications like calendars.
- Securely store and analyzing hobbies available near a specific address or city.
- Allow the user to update profile information while maintaining their progress and inputs on the Hobbies and Tasks pages.
- Send reminders to the email address provided and as push notifications.
Hobbies:
- Allow user to list likes and dislikes and use to refine Gemini API prompts and hobby/task generation.
- Option to see hobbies that your friends are planning to explore.
Tasks:
- Including estimated time or suggested deadline for each task based on the hobby, the user's availability, and research on hobby/habit formation.
- Option to further edit the tasks for each hobby and change hobby order.
- Add to Past Hobbies once all tasks are complete or the user selects to move the hobby.
Built With
- chatgpt
- copilot
- css
- gemini
- javascript
- mongodb
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.