Inspiration
From the start, we knew we wanted to compete in the Social Good track. Using our code to help others is especially important to our team. At the University of Delaware, members of our team serve on the E-Board of our CS + Social Good chapter. After taking some time to explore our options, we decided that Mental Health was a cause we all resonated with. However, we knew our app had the potential to be multi-faceted, so we came up with "ISolution" to benefit not only individuals struggling with social isolation, but also Non-Profits looking for volunteers and visibility.
What it does
Through questionnaires, ISolution collects data about the user, which is parsed by Gemini API to recommend them events and opportunities generated by local Non-Profits. All users must register and answer three surveys about lifestyle, schedule, and goals. Optionally, they may choose to provide data about their personality type, their interests and important causes, and their location. Once their recommendations are generated, they may scroll through Volunteer Opportunities, Social Events, Career Opportunities, and Friends, a feed that is unique to them. ISolution offers Non-Profits a user-friendly platform to increase visibility and attendance for their volunteer opportunities. This service is helpful for individuals struggling with social isolation and mental health by providing them with social activities. It is simultaneously rewarding for Non-Profits and communities, through boosted engagement and improved outlook.
How we built it
Our team agreed that the most accessible version of an application like ISolution would be a mobile app, reminiscent of social media. This platform allows for many great features, such as scrolling and swiping. However, due to time constraints and our team's experience, we constructed a web application with React and instead replicated the format of a mobile device. Given more time, we would have used different software. Two members of our team began by creating flowcharts and functional skeletons for the frontend of all of our pages. In the meantime, the other two members dove into setting up our database and integrating Gemini API. We used the Embeddings feature of the Gemini API in our hack to create a more efficient database of our user and event data. By creating a vector representation of each event and user, we were able to quickly determine which events best match a user's preferences.
Challenges we ran into
As with every collaborative coding project, we ran into git errors. A couple of files were overwritten or lost, and we later discovered that due to our different OSs, various files needed to be changed every time we switched machines. This slowed down our progress and was quite frustrating. Some members of our group had connectivity errors to the database, while the same code and setup worked perfectly fine on another group member's machine. This limited our ability to help each other and work efficiently. Every aspect of our code didn't work at some point; however, our biggest issue was that usually there was only one member of the team who could fix that part of the code, causing time to be wasted. It was especially difficult when we ran into errors regarding the database in the process of integrating Gemini API. This caused us to have to scrap a lot of our code and rewrite the backend.
Accomplishments that we're proud of
Members of our group tackled challenges they had never done before, such as working on the backend, hosting a database with SQL, and writing a React app. Given the time limit, we are so proud of what we got done, especially since this is our first Hackathon!
What we learned
We noticed that many of the successful teams around us fleshed out their backend before working on their frontend. This seems important to avoid some of the errors we experienced, such as not being able to test the frontend since the backend was still being constructed.
What's next for ISolution
There are so many features that we want to add, such as a more fleshed-out Friends interface, as well as a Career Growth interface. In addition, we would like to create an interface for Non-Profits to input the events so that they can be added to our database. In addition, we had originally envisioned that the app would send you reminders to drink water and take a walk, as well as incorporate user data such as sleep habits and health.

Log in or sign up for Devpost to join the conversation.