Inspiration
Every day, the world is filled with more knowledge, and it’s easier than ever to access. But at the same time, we’re growing more impatient for quick answers, getting caught in an almost dystopian web of misinformation and bad intentions.
I wanted to create an application where ease and safety go beyond what Google search offers. Came across a reference you're unsure about? Just highlight it and get instant clarity. Think you're being sold a bogus product? Analyze the text or ask the content-initialized chatbot for its take. Doubtful about a confidently-wrong statement from a Redditor on a simple fact? Highlight the text and find out with a quick click. The possibilities are endless. We're all too impatient to open a new tab and dig deeper. Instead of trying to change the habits of 7 billion people, why not build an app that brings reliable knowledge directly to your fingertips, just a highlight and two clicks away?
What it does
First and foremost, the extension can summarize webpages with ease, and it handles forum discussions quite well too. For more accurate summaries, you can provide a specific focus by using an optional input, such as “This is a Reddit post” or “Focus on fun things to do,” allowing for a more tailored summary.
Next, a chatbot is powered by the content on the webpage, letting you jump right into asking questions about the material. While reading an article, you can ask the chatbot for deeper insights or clarification to enhance your understanding. Conversation naturally boosts comprehension, and the chatbot can also offer advice on how to interact with other users. Plus, it's always available if you need help assessing a suspicious email.
Two quick and easy features—Define and Fact Check—are built to enhance your browsing experience. Define goes beyond just defining words; it can clarify references, provide details about people, explain places, and even break down phrases. Fact Check helps you evaluate whether a statement is True, False, or Partially True, while also highlighting any potential misdirection and offering a detailed explanation. Of course, it’s not as effective with current events (untrained events) just yet, but that’s something I plan on improving in future updates.
Analyze is designed to uncover the sentiment, bias, truthfulness, and emotion behind any text. It goes a step further by identifying potential ulterior motives, logical fallacies, and offering an overall evaluation of the content. Think of it as seeing someone's hand in poker—an effective way to disarm deceptive tactics. This feature is perfect for analyzing phishing attempts, manipulative marketing, propaganda, and more, giving you a clearer picture of what's really behind the words.
Last, but certainly not least—Rewrite. Ever stumble upon a study or research paper packed with jargon, leaving your eyes glazing over? With Rewrite, you can set a reading level that simplifies complex terms and injects the revised text directly into the article. Not only that, it’ll remove any bias, triggering language, logical fallacies, deception, and misdirection, making the content easier to understand and more reliable.
How we built it
The development of the extension followed an iterative process, starting with the summarizing feature. To address the challenge of summarizing long webpages within token limits, I implemented a chunking method, breaking down lengthy content into sections, summarizing each one with the Summarization API, and then combining them into a final cohesive summary. This ensured that even extensive articles were summarized effectively without losing essential information.
Next, I added the analysis feature, using the Prompt API to extract sentiment, bias, ulterior motives, logical fallacies and other attributes. The initial version was tested with feedback on the title ("InsightShield"), the UI, and overall functionality. Based on tester input, I changed the title to InsightLense and refined the design for better usability.
I then focused on adding the Define and Fact Check features using the Prompt API. To optimize the user experience, I moved the Analyze button to the right-click menu along with Define and Fact Check, and rewrote the code to make the app more responsive. I also redesigned Define, Fact Check, and Analysis to use the summary for context if one is available.
The next step was adding the Chatbot and Rewrite features with Prompt API. In parallel, I also wrote a rewrite_test.js that used Rewrite API in case it became functional. For the release, I resigned to using the Prompt API for it. For the chatbot, I designed it to understand the content of the webpage and respond to user queries with context-aware answers. The Rewrite feature was initially in the popup but was moved to the right-click menu for easier access. Both features underwent several rounds of testing and refinement based on user feedback.
Throughout the process, I focused on ensuring that the extension felt intuitive to use, prioritizing user feedback over rigid design rules. The final product is the result of combining technical solutions, thoughtful UI design, and continuous user input.
Challenges we ran into
I'll be honest—one of the first challenges was that I'm not a frontend developer. I come from a background in electrical engineering and switched to software engineering, where I draw on my experience from electrical engineering, in backend development and data science for satellite and simulation applications.
On the project side, the first challenge was dealing with long webpages for summarization. My solution was to break the content into chunks, summarize each section, and then combine them all into a cohesive summary that retained the key points.
Another challenge was that users occasionally interacted with the application in ways I hadn’t anticipated. To address this, I redesigned the user interface based on user intuition, ensuring that the features were more intuitive and easier to use.
Choosing a data format also posed some difficulties. I’m accustomed to using JSON for outputs since it’s easy to parse, but I ran into issues with "untrained language" errors. To resolve this, I decided to design the application around the format that the Google Chrome AI API naturally uses, which eliminated those errors and streamlined the process.
Lastly, summarizing large pages was slow. To speed things up, I introduced additional filters for webpage elements. Initially, I made summarization a required step before users could access other features. However, even for faster summaries, users found the wait time a bit frustrating. To address this, I made the summarization optional, allowing users to access other features without having to wait for the summary to complete.
Accomplishments that we're proud of
I’m really proud of the user interface (UI) and overall ease of use. Testers were thrilled with the final iteration, and they found the extension not only functional but also enjoyable to use. The user-centered design, refined through iterative testing, ensured the extension felt intuitive and responsive.
Another key accomplishment is the core goal of improving access to reliable knowledge, deeper comprehension, and ensuring user safety. By integrating features like the chat bot, fact-checking, define, and analysis, the extension provides users with quick insights, making it easier to navigate through misinformation and malicious actors on the web.
I’m also proud of the amount of work I was able to accomplish solo within the given timeframe. Despite facing several challenges—particularly in frontend development—I was able to deliver a feature-rich extension that reflects both technical expertise and attention to user experience.
What we learned
I’ve realized that transitioning the project into a web application would significantly enhance its scalability and effectiveness, especially by integrating a backend for article scraping and leveraging Retrieval-Augmented Generation (RAG). This will enable even greater accuracy and provide a more robust foundation for future updates and features.
I also learned a tremendous amount about frontend development. I now consider myself humbled by the complexity and nuances involved in building a seamless user experience. I’m grateful to the Google Chrome team for the opportunity to participate in this competition—it’s been a valuable learning experience.
What's next for InsightLense
I originally considered some features out of scope, but I plan to continue developing the project to make it a full-fledged web application with RAG capability. I believe this will be essential for any use beyond a prototype, providing a more robust and scalable solution.
One feature I’m particularly excited about is Rewrite, where I envision it being able to automatically rewrite articles. I plan to include a toggle allowing users to choose between "blissful, ignorant safety"—where the content is filtered for clarity and neutrality—or "freedom of unfiltered content," where the original tone and details are preserved.
Additionally, after some updates to the API, I’d like to make Analyze an automatic feature. When JSON becomes more functional, the analysis process will be more streamlined, allowing users to gain insights in real-time without needing to manually trigger the analysis.
Built With
- css
- html
- javascript
- promptapi
- summarizationapi
- webpack
Log in or sign up for Devpost to join the conversation.