Inspiration

This project was inspired by personal experiences where we felt the need for such a product, wherein we wished to go to an event but couldn't find people to go with as our friends were either not interested or not available. In such cases, we had to cancel our plan, even though we strongly wanted to go. That is when we thought of the idea that there should be many people like us who are not able to go, and there must be a method to find such people and go together if everyone is willing. This would not only be a way to meet new people but also to have new experiences that earlier might not have been possible due to external circumstances.

What it does

This app helps people wanting to go to an event connect with other like-minded people, allowing them to form groups and experience together. When the user signs up, events taking place around them in the near future are shown. On each event page, there are multiple groups, each with people sharing similar passions planning an entire experience around the event, which may involve meeting up before the event and going out after. Such groups and events can be created by anyone who wishes to have an experience around an event, and people can view the host's and interested people's profiles to see if their interests match before joining the group. Hence, the app enables users to connect with people with similar intentions and form groups to improve their event going experience.

How we built it

We developed both the frontend and backend components for the project. The frontend, built on React Native, focuses on enhancing user engagement through animations created with React Native Reanimated and integrated Lottie animations. For efficient state, storage, and API management, we utilized libraries such as mmkvStorage, Zustand, Axis, and Tanstack Queries.

The backend infrastructure comprises a Postgres database created with Prisma and a robust service implemented with Nest.JS. To streamline user authentication, we incorporated Firebase and Google OAuth for a seamless signup process. Authentication of the API is ensured through auth guards and TypeORM within Nest.JS, facilitating secure communication with the database.

Lastly, to enable seamless connectivity, the database and backend server are deployed on Vercel, ensuring smooth integration with the application.

Challenges we ran into

During the project, we encountered various hurdles that tested our problem-solving skills and adaptability. The transition to backend development presented a steep learning curve for us, necessitating dedicated time and resources to grasp new concepts effectively. Crafting a seamless authentication flow posed another significant challenge, as it required careful consideration of user experience and integration with third-party services like Firebase and Google OAuth while ensuring robust security measures. Additionally, our efforts to streamline development by integrating a third-party library, DeScope which aimed to simplify onboarding flow, were hindered by unresolved issues within its React Native package. This library's instability in beta phase introduced unexpected challenges, requiring us to navigate through troubleshooting and potential workarounds. Despite these obstacles, our team remained resilient, collaborating closely to overcome challenges and deliver a successful project outcome.

What's next for Spear: The Future of Socializing

Our next steps involve two primary initiatives. Firstly, we aim to enhance user experience by integrating features such as search and filter functionalities within the event section of our application. This will empower users to easily discover events tailored to their preferences and proximity, leveraging location-based services for event recommendations. Additionally, we plan to implement a review system for attended events, allowing users to share feedback and ratings, thereby fostering a community-driven platform.

In the subsequent phase, we aspire to transition from external communication platforms like Discord to an in-app messaging system, facilitating seamless conversations within our platform. Furthermore, we envision the introduction of a rewarding system, possibly including a leaderboard to recognize and incentivize active participation. This system could acknowledge both event hosts and attendees, promoting engagement and fostering a sense of community within the app.

In the second initiative, for testing and validation, we intend to conduct a product launch with a focus on one event, perhaps a concert, to gauge user response and refine our offering. Targeting primarily our college community initially will enable us to gather valuable insights and iterate on our product effectively, ensuring its suitability and relevance to our target audience.

Built With

Share this project:

Updates