Inspiration

As journalists for our school paper, The Musket, we determined a problem we all have experienced: collecting evidence from online sources is messy and unorganized. Verifying individual claims can involve inaccurate sources screenshots, links, and invalid citations scattered across numerous tabs. Many important sources often get lost or disconnected from claims that they originally support, which makes it increasingly difficult for journalists (and by extension researchers) to keep their work organized and reliable under quick turnarounds. To address these issues, we came up with the idea of ClaimTrail.

What it does

ClaimTrail is a Chrome extension and web dashboard that helps users capture and organize research evidence from the web. When a user highlights an excerpt from a webpage, the extension automatically presents key information such as the original source, publication details, relevant context, provenance timeline, and citation information. Users can then assign the evidence to a project, where it is stored on the web page dashboard, and can be organized, reviewed and exported in formats like MLA and APA. By tracing claims connected to the sources, ClaimTrail aids users in streamlining research for journalists, students and researchers.

How we built it

Initially ClaimTrail was planned to just be a browser extension, but it was expanded into an organizational website as well. ClaimTrail is built through three main parts: a Chrome extension, a backend, and a web dashboard. The Chrome extension lets users highlight text directly from articles and webpages. It also gives users important information: such as The backend handles storing and organizing that information. The dashboard then gives users a place to review their evidence, sort it into projects, and generate citations.

Challenges we ran into

Integrating three distinct environments (a Chrome extension, an Express backend, and a Vite React frontend) was a massive hurdle. We constantly ran into port conflicts , CORS issues (when the extension tried to talk to the local server), and massive node_modules folders breaking our build steps. Figuring out how to properly compile a React app to run inside a Chrome Extension sidebar was definitely our biggest technical roadblock of the night.

Accomplishments that we're proud of

One moment we were particularly proud of was watching the user highlighted text finally pop up on our extension dashboard. During development, we honestly weren't sure if this idea was feasible as we were not able to get this feature working, let alone allow all three parts of our app to connect. But when we finally watched a random sentence render perfectly without throwing out an exception, that not only removed any initial doubts of the idea, but enabled us to continue with the idea.

What we learned

We learned that while "vibecoding" gets applications and software off the ground quickly, actually integrating three local environments is where the real issues arise. Building features was one thing, but getting our extension, backend, and dashboard to work together consistently was much more challenging than we expected. Through that process, we gained a much better understanding of full-stack development and the importance of persistence when debugging complex problems.

What's next for ClaimTrail

We want to continue to improve ClaimTrail's ability to help users organize and verify their research. One particular feature we are looking to add is enabling other users to see "shared projects" and help collaborate on them.

Built With

Share this project:

Updates