Inspiration
Several years ago, I was working from home and my kids were both graduating high school. I had recently moved and didn't have any real friends in the new location and I had no idea where to turn to find people that I had similar interests with. That is what inspired this app. It's an social media application for people who are interested in finding new friends but who aren't the type to go out and just introduce themselves, basically, introverts.
What it does
As users sign in, they would give permission for the app to see their location, then they would fill out their interests page. This allows the app to search for people locally who have similar interests. Users can search for "other halves" based on locality and/or interests and can filter for a specific interest in their search. It is currently set up to translate into 8 different languages using Google Translate API, and the location service is from Google Geocoding API. Users can also make posts, like/dislike other posts and comment on posts. There are privacy settings that allow for users to only be searchable via their email address and the search option will only search for a complete email, not partial.
How we built it
This application was built using Next.js, Typescript, MongoDB and multiple Google APIs. It was built in VS Code with assistance from Copilot.
Challenges we ran into
Chat functionality was and is the biggest challenge of the application. The chat feature is currently not functional on Vercel. Setting up sockets to make chat functional was tricky and testing it using Ngrok took some understanding of how the socket ran on a different server than the rest of the program. The initial chat function didn't have emojis or GIF capability on desktop, though it did allow emojis from a phone. I was able to add emoji and gif functionality to both the chat and to posts which also had some difficulty initially. The other real challenge was getting the translation to work. I was able to set translation for some of the static elements, but I wanted the entire page to be able to translate. It took a lot of troubleshooting, but I was finally able to get the translation to work on everything, even names, which was another challenge in and of itself! I was finally able to get the system to translate everything that wasn't a name so that a page can be read in 8 different languages.
Accomplishments that we're proud of
Other than functionality issues with the chat feature due to it running on a Socket.IO server that doesn't function in Vercel, the rest of the app works as intended. I'm super proud that the filtering can be narrowed down to one specific interest, the location range can be adjusted and a user can choose to look for people based on location or just interests. The app will sort suggested other halves by those with most interests in common. The app is mostly intuitive and I was able to add some privacy features that can protect users.
What we learned
I learned a lot about creating chat functionality, though I obviously still have more to learn in order to get it fully functional. I enjoyed learning how to integrate the APIs into the app and while the translation one took a while to get going, I learned a lot working on that.
What's next for Avoca-do
I'd love to see Avoca-do become the next big social media outlet. My hope is to run it in such a way that users enjoy being on it and know that their voices can be heard when they are looking for features and improvements. I will have to get the chat functioning fully before that can happen, but hey, with the prize money I will hopefully win, I might actually be able to accomplish that!
Log in or sign up for Devpost to join the conversation.