Inspiration
We were inspired to build this project due to how rampant misinformation and disinformation are in the modern internet. Misinformation spreads faster than truth online- people often share without checking.
What it does
SourceSleuth is a chrome extension that allows the user to select any text on any webpage and determine it's legitimacy in seconds. The extension will give you an analysis on the statement, a rating on its truthfulness and a source to an article for more information.
How we built it
We used the Plasmo framework to build SourceSleuth using react. SourceSleuth queries the Gemini API to gather relevant articles from our sources, determine the statements legitimacy, and provide an analysis on the claim. We used tailwind for a simplified style solution and MongoDB to store previous queries.
Challenges we ran into
Our initial intention was for the extension to allow you to right click any selected text, feed it into the popup, and display everything in one click. However, you cannot programatically open extension popups as it's a security risk, so we needed to pivot. Our first idea was to maintain the same context menu functionality, but by embedding a modal into the DOM instead of opening up the extension popup. This caused further issues, as the embedded modal was very difficult to isolate from the rest of the page, causing copious visual bugs in our modal and on the webpage. Ultimately, we ended up automatically feeding the selected text into the extension popup whenever it was opened, to still allow users to verify statements in just one click.
Accomplishments that we're proud of
As a team, we're proud of how we successfully pivoted our idea when we ran into roadblocks due to security features. None of us have created a chrome extension before so it was truly a learning experience for all of us.
What we learned
We've found that project has helped us understand browsers and the web from a different perspective. Working with an extension framework, then trying embedding straight HTML and JavaScript into the DOM was eyeopening in how complex browsers truly are..
What's next for SourceSleuth
In the future, we would love for SourceSleuth to support more languages/countries than it does now. We recognize that non-English speakers are often more vulnerable to disinformation, partly due to the limited availability of content moderation and fact-checking in languages other than English. Additionally, we want to improve how we source our sources. Our current implementation works fine, however many times it may miss the best article for the job. We would compile a list of journals/pages which are non-biased and trusted, then scrape them for their data before feeding that to Gemini, instead of trusting Gemini to handle it by itself. We believe this would be more consistent in providing the most accurate information to users.
Built With
- gemini-api
- mongodb
- plasmo-framework
- react
- tailwind
- typescript

Log in or sign up for Devpost to join the conversation.