Inspiration

We were inspired to create this app due to a lack of knowledge about local events happening. Originally, we wanted to make the app to help inspire activism in local politics, as we believe that while national elections are important, people often forget the impact that local representatives can have. However, we felt that we could do more, so we decided to create an app to inform people about local events of all types, not just political ones. Many times, people forget about all of the vibrant cultures that can be found in their neighborhoods, especially in New York City, where most people naturally rush to go to Manhattan to see or do something, people forget about their local towns and all of the excitement that their towns may have. Additionally, in the modern world, there has been a decrease in the sense of a community, of a group of people that truly feel together, and we believe that is due to less local participation. Even more, having more information about local events can solve a massive problem: boredom. We have all found ourselves bored on the weekend before with no idea what to do, but most of the places we live in do not have one main app or website to promote activities. As a result of the lack of local information, we decided to create this app with all the key information in one place, CivicNow.

What it does

Our app is designed to enhance local community engagement by connecting users with local events that go unknown and align with their niche interests. Utilizing the PredictHQ API, the app offers a diverse range of events, such as conferences, concerts, festivals, sports events, and more. Users can filter events by selecting specific dates and categories, allowing for a more personalized experience. Each event includes essential details, such as the date, location, and a brief description, enabling users to make well-informed decisions. To improve the user experience, we integrated an artificial intelligence summarization feature. This functionality provides quick, concise summaries of events, allowing users to grasp the key information at a glance. Additionally, the app includes a reminder system that lets users "favorite" events and automatically sets up alerts to ensure they don’t miss them. We've also added a local news feature, which delivers relevant updates based on the user's location, helping them stay informed about what’s happening in their community. For further assistance, the app features a GPT-3.5-powered chatbot that can respond to user inquiries, offer guidance, and provide event recommendations. This comprehensive set of features not only makes it easier for users to discover local events but also encourages active participation in their communities.

How we built it

We built the app by dividing the main parts of the app among ourselves. We split the app into four parts: the events page, the news page, the chatbot function, the reminders, and the UI design. We first created the events page using a predicted API key to receive local events. We also implemented a dropdown button to allow users to specify which categories they would search for from the API. Then, we built the news page using a NewsApi key to find national and local news. Next, we built the chatbot function using an open AI API. We applied the chatbot function in 3 separate places: the summary function on the events page, the summary function on the news page, and the chatbot page. Lastly, we created the reminders page and chose a color palette to apply to the app. We also designed a logo, which we placed on the home page of the app.

Challenges we ran into

We faced a large variety of technical difficulties when programming our app. Firstly, we had to learn how to use React Native and figure out how to code together. It was one of our first times working with AI and doing an app as complex as ours, and there was a lot to learn. The biggest problems that we faced were bugs. We struggled with understanding many of our errors, as the error messages given from VScode were somewhat vague and unhelpful. We had to learn how to properly log error messages in our program so we could more efficiently debug. For example, one large issue that we faced was with the predicted API that fetches local events. We were able to receive events from the API, but it would only give events of a certain category and a certain date, and we had to dive deep into the documentation to resolve the error. Another major issue that we faced a few times was complications with APIs. For instance, we had trouble working with the open API as we incorrectly understood that the API had to be paid for. It took numerous attempts to correctly log the errors to discover that due to a lack of funds, no requests could be made to open AI. Lastly, another issue that we faced was working together. We had all worked on a variety of projects before, and being able to coordinate our efforts into one was a challenge. We were unsure of how to equally split the work. We first started by making a base react app. We were able to get into a workflow. Originally, part of the issue was deciding on how to have all the code updated. Still, we decided to settle on having the code be on GitHub with each of us making commits when needed and, as a result, building on each other's code and working, leading us to truly becoming a well-oiled coding machine.

Accomplishments that we're proud of

We are proud of being able to finish the app with all of its features. Since it was most of our member's first time doing such a large project, we are all extremely proud of the fact that we were able to finish it. We are very proud that we came together as a team and were able to implement a large variety of features. One thing we are especially proud of is our accomplishment of debugging, as we were able to handle ourselves against challenging and complex bugs.

What we learned

We were able to learn a lot during the creation of the app. We mainly learned how to work together as a team, specifically how to properly and efficiently collaborate on the project. We learned how to coordinate our team as well as how to help improve each other's work rather than working against ourselves. Additionally, we learned how to overcome many technical problems, from navigation documentation to bugs. We were able to master our problems within ourselves and our app to come together to create this project.

What's next for CivicNow

We are currently working on planning and making various improvements. One of these improvements is to make the app more visually appealing. Making it more appealing would make users more inclined to use the app and encourage them to use it more, which will increase involvement in local communities. We could achieve a more appealing app through animations between tabs, more visually impacting images of communities, and pictures taken during user community events. Another improvement to the app is to give personalized results when the user is looking for results. This improvement saves users time because they get events they want to attend. This would also increase the chance of someone using the app to find events. We are thinking of adding a feature that looks at what events the user responds to (if they interacted with the summary of the event) and gives events that have related key terms in their summaries. We could also include a map that shows the events in the user's area. This would allow the user to visualize events near them and better understand the distance needed to travel to each event. The route the user would take to get to the event would be shown, highlighting toll amounts and road closures through Google Maps. Events that are close to each other would be clustered together depending on how much area the map covers. More information about the floor plans of the event would help with parking and navigation through the event. More specific notifications can be implemented based on the event categories and possible event changes that would make the event more convenient. All of these improvements and the app make it easier to attend community events, increasing the turnout for these events.

Built With

Share this project:

Updates