Inspiration

Recently I picked up woodworking as a hobby. I was a complete beginner and did not understand much of what YouTubers were talking about. As I started to purchase some of the tools, I got very frustrated as there were so many terms and words being used that I did not understand. This made me jump back and forth many times between different websites and ChatGPT asking for explanations. But because ChatGPT did not have context of what was happening, it became a very frustrating experience. So this challenge was the perfect opportunity to fix that issue.


What it does

The extension will basically read the text content of the entire page, summarize it down, and understand it. It will then allow you to choose between three options to describe your level of understanding for the current page you're on:

  • Novice
  • Beginner
  • Experienced

This extension will then modify all the text on the page into language that's more accessible based on your level of knowledge.

You can also choose to shorten the text size into one of the following options:

  • As Is
  • Shorter
  • Much Shorter

It's important to note that the AI will only shorten the text if it does not compromise understanding of the page content.


How we built it

This extension was built through React, Vite, and TS. The combination of these three technologies allows for an easy development experience with many features and the ability to use npm packages easily in your extension.

This tool relies on the Prompt Web AI. Using different prompting techniques and thorough testing, we were able to produce good results from the AI, utilizing its power along with the power of the internet.

The demo was built using other AI tools for audio generation and video generation. This was done to showcase the power of AI in multiple domains.


Challenges we ran into

The biggest challenge with this project was having the AI understand what to change and what not to change. It also required a good algorithm to be able to detect any text on the screen and condense it down into consumable amounts the AI could work with. Besides this, maintaining the text styling and page structure with the new output proved difficult. This was mainly due to the completely different structures that different websites use. In many cases, we found our tool trying to "simplify" reviews, which is a case where it's not needed.

Along with this, multiple attempts to use the summarization/rewrite API were made. This was the obvious choice as they are perfect candidates for the goal of our tool. But interestingly, we found that the control we were able to achieve with the Prompt API allowed for better results than the other two APIs.

Finally, one of the most difficult challenges was testing. Testing different prompts and seeing their results took hours, and due to the nature of how LLMs work, their performance can vary randomly using the same inputs. Besides that, the tool simplifies text, which means you need to evaluate its results by reading massive blocks of text. This has resulted in difficulty modifying the prompt and parameters to reach a "good" state.


Accomplishments that we're proud of

Initially, this project was going to be a team effort, but due to unforeseen circumstances, I only had around one week to work on the project by myself. In that short timeline, balancing the project with my full-time job was a challenge, so I'm proud I was able to build this tool mostly in around a week and proud of how useful the tool has been, especially in medical contexts for me.


What we learned

The main learnings from this project are as follows:

  1. Finding a good testing strategy and methodology is key to rapid development and good results on an AI project.
  2. Don't handhold the AI too much as you will end up shooting yourself in the foot. Let the AI do its thing.
  3. Different websites utilize HTML structure and elements very differently. Many websites do not follow standard use of tags.

What's next for Foundra-101

There are many features that I still want to develop. Here is a list of the more important ones:

  1. Add the ability to highlight certain text on the page and simplify/remove simplification of that section.
  2. Ability to ask questions relating to the context of the web page.
  3. Ability for the extension to crawl through the current website, finding other information/links that are helpful to the user.
  4. Ability to filter through website content and only rewrite sections that make sense to be rewritten.

Built With

Share this project:

Updates