Inspiration

A big inspiration was from the covid 19 pandemic and how various governments dealt with the issue. People had many opinions and thoughts about how the government was handling the pandemic, and the criticisms allowed the government to better handle the situation, and the praises and compliments helped the government know what they were doing well.

Another inspiration was based on personal experiences. We are both international students from Malaysia, and government agencies do not listen to the people most of the time. This leads to complaints and remarks being left unaddressed and sometimes disregarded. We wanted this platform to allow people’s voice be heard, and for the government agencies to take actions for the complaints that people have.

This is why our platform is named “Voice Out”, as it is a place for people to voice out their thoughts to all government agencies, and for the to unite together based on similar issues and experiences.

What it does

Our platform has three main features.

The biggest feature is the home page which displays all the “voices” of the people, containing both complaints and compliments to specific government agencies. We took inspiration from reddit, and allowed comments to be upvoted/downvoted. This allows users to upvote on issues that they care about, and the downvotes are for possible spams in the platform. These comments can also be sorted by upvotes or by date. A cool feature that we personally like is when comments reaches a certain limit, such as 500 upvotes, we have a cloud function on google cloud that can automatically reach out to the agencies so that they are aware of the voices from the community. Depending on whether or not the government agencies have reviewed those issues, it will display a "reviewed" tag which means they have reviewed those issues, and "notified" if they have not.

The other feature is a form where users can select an agency to write comments about, and a text box for users to share their thoughts. Users can also opt in sharing their email address and name for the government agencies to reach out to them personally.

The last feature of our app is the sentiment analysis and categories. The sentiment analysis is essential as it gives the government agency workers to view the sentiment of the people on the agencies. Also, the Natural Language API auto-generates the categories based on the user comments, which we plan to allow users to filter by categories and see how other people share similar problems.

How we built it

We built the website using React + Next JS + Typescript, and used Chakra UI for the UI layout. We used Firestore as our database to store user comments, and the Google Cloud Natural Language API to perform sentiment analysis on each comment and generate categories for the users. We also utilized Vercel for CI/CD. As for our domain, we used Domain.com to get a beautiful domain name “voiceout.space”.

Challenges we ran into

A huge challenge we faced was integrating verbal with the Google Cloud authentication. The documentations were not clear on how we could have the service keys in an env file, and we had to do a lot of “research” to figure out. We also wanted to implement a search feature into our app and integrate it with google cloud Firestore but faced some challenges. The easier methods were paid while the free version (TypeSense) were difficult to setup due to the time constraints.

Accomplishments that we're proud of

We are proud of being in our first hackathon together, and being able to turn this idea that means a lot to us into a reality.

What we learned

We learned more about the capabilities of google cloud for natural language processing, and we plan to use it more in our side projects. It was a smooth process using the API locally, and we learned how to integrate it with Vercel. We also learned how to optimize our app using Next js best practices.

What's next for Voice Out

The form now only shows agencies and states for the United States, and we plan to expand it worldwide for everyone to share their voices. We also want to work with government agencies to obtain admin access to these comments and acknowledge the comments, which will display "reviewed" when they have reviewed those comments.

Share this project:

Updates