Inspiration

Many news articles of today take what one publication has stated, and repeats the same information across many different platforms. However much of this information is false, focusing more on flashy titles then real truth. CrowdTruth empowers users to rate and review web pages on their own, creating a distributed reputation system for online information. By using a shared platform, users can come together and vote on whether they believe a site of any kind if trueful or not, warning other users of the authenticity of the site they are on.

What it does

The CrowdTruth extension is able to:

  • Authentication users using secure registration and login with password hashing
  • Give the source a reputation through aggregated ratings (0-5 stars) based on community feedback
  • Post detailed reviews with titles and comments
  • Vote on reviews with agree/disagree and 0-5 star ratings
  • Browse reputation data without logging in anonymously
  • Use dynamic badge to color-coded reputation indicator on every webpage on a scale of green (4-5) to red (1-1.9)
  • Dismissible in-page display of source credibility
  • View all your reviews across sources

How we built it

We built CrowdTruth through a process of brainstorming ideas that could fit the track of Siren Song, eventually landing on something similar to Wikipedia's methods of crowdsourced information, and other distributed voting systems.

Once we had decided on the concept of fact-checking websites, we knew that one half of it would have to be a browser extension, as there's not many other ways to inject into the content of websites to give disclaimers about misinformation.

Because all of our team knew Java, and we knew that we'd need some form of server component to handle the requests coming in, we decided to create a backend API in Java, which would also handle database storage and management for the various elements.

Challenges we ran into

We ran into a lot of challenges with implementing the Java server, especially as the complexity of the project started to grow and team members gained less of an understanding of the code.

The extension also faced numerous issues, with the most annoying being the recent transition between manifest v2 and v3, leading to many cross-browser differences and outdated information available online.

Accomplishments that we're proud of

We're very proud of the technical design we created for the system. With more time to implement it, we believe that this would act as a very solid example of how misinformation can be countered. We specifically tried to defend against reputation attacks and botting through our account system, along with creating threat models to minimize the amount of sensitive data going through the server.

What we learned

We learned just how difficult it is to work with APIs, due to their complexity. We tried using on under the assumption it would make our extension easier for users to use. And while this can be argued, it led to more complication in the back-end of our code connecting users to the extension in the first place.

What's next for CrowdTruth

If we had more time on this competition, we could have added a more detailed reputation scale for users as well. This way if a user keeps spreading misinformation on purpose, they would be flagged as untrustworthy by other users. We would have also wanted to add the ability to delete your account if you chose to do so.

Built With

Share this project:

Updates