Inspiration

The original idea is that when I open a website, sometimes the content is too long, some websites do not provide TLDR, and I hate to scroll the whole page for a few minutes. I need tools to summarize all the content of the website I opened. I created the website version at https://itlidr.thangman22.com/ to help me summarize the content and provide the capabilities to ask some questions directly to the article. Still, It is not seamless because I have to copy the URL and paste it to the website, so I decided to convert the same idea to the Chrome extension version to make summarizing every website I'm opening easier. I also use Chrome's built-in AI feature to achieve speed and smoothness.

What it does

This extension will extract the content of the website then summarize the whole content into a single paragraph. It also provides simple Q&A to allow users to ask for more information from the content.

How we built it

This extension uses Vue.js and Gemini API when the local model does not work. For technical reasons, I use the npm package called @extractus/article-extractor to extract content from the site's HTML and use Summarize API to summarize the whole content. The list of questions still uses Gemini API because the local model can't provide results in the JSON format. When the user asks a question, Prompt API will answer it. The extension also provides the capability to translate the summary into other languages, and I use Translation API to achieve the goal. When the content is not in the language that the model supports I will use Gemini API for fallback, which is using model "gemini-1.5-flash-8b"

Challenges we ran into

I'm in Thailand, and Prompt API and Summarize API still do not support the Thai language. That is why I still need a fallback API for the non-support language. I hope in the future, the model will support more languages.

Accomplishments that we're proud of

I can find a way to make this plugin work in situations where the API constantly changes and some bugs remain. This plugin is now able to work even when the local model is not available.

What we learned

What's next for It Too Long I Don't Read

Built With

Share this project:

Updates