Inspiration
In today's digital age, navigating the vast ocean of online information can be treacherous. Misinformation, emotionally manipulative content, and biased reporting are rampant, making it difficult for users to discern truth from falsehood and feel secure in their online interactions.
EchoGuard was born out of a desire to address this "(In)security." We envisioned an "AI Canary" – a smart, vigilant browser extension that could help users identify potentially misleading or harmful content, much like a canary in a coal mine would warn miners of danger. Our goal was to empower users with the tools to critically assess the information they consume, fostering a safer and more informed online experience.
What It Does
EchoGuard is a Google Chrome browser extension (Manifest V3) designed to be your first line of defense against deceptive online content. It works by:
- Source Credibility Analysis: Checks websites against a curated list of known unreliable domains and conceptually scores source reputation using AI.
- Emotional Language & Propaganda Detection: Analyzes page text for keywords and patterns indicative of emotional manipulation or propaganda techniques.
- AI-Powered Insights (Conceptualized): Uses client-side heuristics and a mock Python Flask backend to simulate advanced analysis. The architecture is designed for future integration with models like Google Vertex AI.
- Clear User Interface: Non-intrusive banners appear on suspicious pages. A detailed popup displays AI insights, detected keywords, and credibility scores.
- User Controls: Includes an “AUTO” mode for continuous protection and a “Refresh Analysis” button for on-demand checks.
The project includes:
- A Chrome extension
- A mock backend server (
server.py) built with Flask - A demo website hosted on GitHub Pages (
docs/index.html)
How We Built It
We developed EchoGuard iteratively, focusing on core functionalities first:
- Foundation: Set up the Chrome extension structure with
manifest.json,content.js,popup.js, andbackground.js. - Core Analysis: Implemented domain credibility checks and emotional keyword detection.
- UI/UX: Created a responsive and informative popup and onboarding screen.
- AI Integration Mockup: Built a Flask backend to simulate AI responses and connected it using
api_integration.js. - Website and Styling: Developed a static website to showcase the project and provide instructions.
- Testing and Debugging: Ensured reliable script injection and message passing across components.
Challenges We Ran Into
- Ensuring content scripts worked consistently across different types of websites.
- Simulating realistic AI behavior with limited time and no live model access.
- Maintaining browser performance during real-time page analysis.
- Designing warnings that are clear but not overly intrusive.
Accomplishments That We're Proud Of
- Built a functional and extensible Chrome extension from scratch.
- Successfully implemented a full analysis pipeline with a mock AI backend.
- Designed a clean and user-friendly interface to communicate complex insights.
- Laid a solid foundation for future AI integration and expansion.
What We Learned
This hackathon was a fantastic learning experience. We gained:
- Practical experience in Chrome Extension development (Manifest V3).
- Deeper understanding of JavaScript and DOM interaction.
- How to mock and simulate AI integrations within web tools.
- The importance of intuitive UI for delivering technical insights to users.
- Backend prototyping using Python and Flask.
- Version control and collaboration with GitHub.
What's Next for EchoGuard
We plan to extend EchoGuard with several improvements:
- Integrate with real-time AI models like Google Vertex AI.
- Expand the database of unreliable domains and flagged keywords.
- Enable user feedback and crowdsourced accuracy improvements.
- Add sensitivity settings for analysis tuning.
- Provide support for additional browsers like Firefox and Edge.
- Offer in-page highlighting of manipulative or misleading phrases.
Log in or sign up for Devpost to join the conversation.