Inspiration
In 2023, Dr. Vivek Murthy declared loneliness a public health epidemic in the United States. As a high school student, part of the demographic whose mental health is most affected by social media, I noticed how many of my peers had become addicted to their phones from social media algorithms, including myself. While I was lucky to be part of an outdoorsy, sporty friend group who didn’t let technology get in the way of in-person interaction, I did notice that many of us had unhealthy screen times that impacted our physical and mental well-being. One thing that confused me about social media was how paradoxical it is: it is designed to keep people connected, yet its top users feel more isolated. Upon further research, I learned that social media apps isolate people by replacing authentic, in-person interaction with artificial “connection”. Their goal is to maximize the time that users spend on the app, so they move all interaction onto a digital screen, which can increase feelings of loneliness. I noticed that many parents blamed the problem on technology, but I knew it wasn’t technology itself, but the algorithms employed in it. Technology is a tool, and just like any other tool it can be used for good or for bad. I wanted to turn technology into a tool used to connect, rather than divide. To counter the effect of social media apps, I wanted to build an app that moves the interactions off-screen, facilitating and organizing in-person interaction rather than replacing it. As someone who was always coordinating pick up basketball games, beach outings, and sports watch parties with my friends, I knew using a designated app would be much more efficient than our current planning form, iMessages, where many times our plans fail to materialize due to communication and coordination issues. While I was part of a social friend group constantly meeting up, I knew many other adolescents and young adults didn’t have the same luxury, so I also wanted my app to help those looking to meet new people. Ultimately, I felt a map-based application would serve this purpose best, by allowing users to discover public events or private plans happening near them. Because technology causes a lot of social issues, the best way to attack these problems is to target the root cause, technology, and convert it into a tool countering these issues.
What it does
Unlike traditional social media apps which replace in-person interaction with artificial “connection”, Huddle facilitates in-person interaction. It brings the connection off the screen and into the real world. Huddle’s purpose is to help users discover local public events and coordinate private plans with friends. The app contains three pages that all contribute to its functionality: the first page is the map. This page contains a map around the user’s location, with pins displaying nearby events at the designated location. Private events are a dark pink color, while public events are red. At the top of the page is a search bar which allows the user to drop an event at any desired location. Users can press and hold anywhere on the map to drop a location, after which they must fill out important event information, such as date, time, name, description, and visibility. Public events are visible to all users on the app, while private events are only visible to friends that the user invites. To avoid clutter, users have a toggle to only view private events on the map if desired. The second subpage of the app is the friends section, which is where users can build their inner circle. In the friends section, users can search for other users using their unique app handle to send a friend request, and can view pending requests and accept or decline incoming ones. The final section of the app is the profile page, which allows users to personalize their experience. Through the profile page, users have access to personalization and security features that allow them to edit their name and profile photo, change their password, sign out of their account, and delete their account. Furthermore, in the profile page, there is an upcoming plans section which displays all events that the user has signed up for, along with the date and time. Clicking the event will provide more details, such as the description and attendees, and a navigate button will open up google maps and allow the user to easily reach the destination for that event. Ultimately, Huddle converts technology from a tool used to isolate into a tool used to connect, allowing users to meet up with others more easily. This app is targeted towards teenagers and young adults who have trouble forming plans with friends or don’t have many friends and want to discover new ways to meet people.
How I built it
To build Huddle, I used Flutter, a framework that allowed me to build the app's interface and functionality using Dart. For the backend, I integrated Google Firebase to manage user authentication and store application data, including user profiles, events, friend requests, and event attendees. I integrated the Google Maps API into my code to display an interactive map for the overall functionality, allowing users to visualize nearby events and discover opportunities to connect.
Challenges I ran into
When programming the app, one of the biggest technical difficulties I faced was integrating the external APIs and other backend services with my app functionality. For example, there was an issue where my Google Maps API stopped working and there was no longer a displayed map, so I had to work to debug that and get it fixed. I encountered additional problems with the search bar’s autofill, which is a result of an issue with Places API as a part of the Maps Platform API. I also faced difficulties implementing the method for changing a user’s profile picture, as it required me to work with the Firebase Backend and fit the privacy policy guidelines built into every user’s phone. What made these challenges stand out is that the problems weren’t with the code itself. I had to troubleshoot the underlying services separately before the app would function as intended. Working through these issues taught me that developing an app requires understanding how different systems communicate with one another, not just writing code for individual features. Another major challenge was designing the user interface. I had to ensure that buttons, widgets, and other elements did not overlap or interfere with one another, especially when multiple components appeared on the same screen. I also needed to account for differences between Android and iPhone screen sizes, including space occupied by the phones’ built in widgets. Ultimately, these challenges taught me that building a functional app involves much more than implementing individual features. Each component must work together reliably, and the entire application must remain usable across different devices. Troubleshooting these issues helped me better understand the complexities of app development and the importance of testing both the underlying functionality and the user experience.
Accomplishments that I'm proud of
After publishing the app, creating an instagram post, and sending out an announcement on NextDoor, the app only had 2 users. To further publicize my app, I wanted to buy a product placement in a social media creator's video to increase my user count, but the cost of $1000 far exceeded my budget. I decided to advertise the app in more creative ways. I posted funny advertisements with plot twists on Instagram, hosted a raffle give-away, and posted up flyers around my school. The app has now exceeded 50 users across Android and iOS, which is the accomplishment I am the most proud of.
What I learned
Developing Huddle taught me about the diversity of experience from developing and promoting the app. I previously thought this project would be a lot more coding focused, but I learned that there were many soft skills required. I couldn’t just write lines of code, but instead had to draft up screen layouts, app functionality requirements, and backend data storage. Coding apps requires less focus on the technical skills, and more focus on understanding user desires, and what features would best improve the overall app experience for them. I focused less on coding the best project possible, and more on catering to my audience. This taught me how to think outside of the box, and how to look in multiple different lenses when designing the app. Ultimately, these skills I learned will be incredibly useful for product design and marketing, which I will put to good use as I continue updating and promoting my app. Another big thing I learned from this challenge was that developing an app involves much more than just writing code. I had to troubleshoot backend integrations, work through API issues, and adapt the interface to different devices. These challenges taught me to approach problems from multiple angles and recognize that the solution isn't always in the code itself. Lastly,I learned the impact that app development can have on other people. I have noticed that my app is extremely helpful for others, and especially me, in planning meetups with others. For this app, I knew about a problem, researched why it exists, and created a solution to attack the root cause. I think this process is very simple yet allows many people to create important change in the world, and this challenge has inspired me to continue developing tools to improve the lives of others.
What's next for Huddle
There are still some changes I would like to make to Huddle. I want to implement separate profiles for organizations. For example, charities or cultural associations can post updates, advertise important information, and gain followers. This would allow them to stand out if more and more users join the app, while also giving users a way to pick organizations they want to see more updates from or get notified for nearby events. Furthermore, I want to implement more image-based information. Currently, public or private events only use a title and description. I want to provide options to upload flyers or promotional videos, and even show images of the venue or past events. This way, event planners actually have a way to appeal to users and draw in more viewers. I also want to implement notifications where users can opt-in to get notified if they have any events coming up or if their friends have invited them to something. Lastly, I want to link Huddle to the phone’s calendar, to keep users’ schedule more organized.
Outside of software, I want to continue publicizing the app to grow its user count and scope of impact. I want to focus more on video advertisements, perhaps partnering with some friends to film professional cinematic pieces to post. I think that volume is the best way to gain exposure on social media, so I would want to create a dedicated account for Huddle where I can post at least once a day for a month straight to grow my user count. After that, I would like to reach out to a community organization to tell them about my app and the potential users their event could draw in if they publicize on my app. That way, this would create more demand on Huddle not just for people who want to make plans with friends, but also for people looking to discover local events.
Built With
- dart
- firebase
- flutter
- github
- google-maps
- placesapi
- vscode