Inspiration

Google Deepmind interview preparation document said to read and watch their articles and videos.

What it does

Chrome extension to notify and direct you to new Google blogs. Quizes your understanding via both recollection questions and reflection questions. Meant to simulate learning frameworks used by schools for reading assessments.

How we built it

Chrome extension as a frontend, polls https://blog.google/rss/ every hour. Side panel chrome extension for quiz and browing new blogs. Flask server for API routing, langchain for tool calling and RAG (if your gemini key is strong enough), elevenlabs for voice interface.

Challenges we ran into

  • google uses RSS feed and returns XML instead of JSON, had to figure out how to parse XML.
  • Chrome extension UX forbidding auto sidePanel pop up due to UX restrictions
  • Html of the page is huge, cleaned it a lot to reduce the token size before sending to gemini and performing RAG on it.
  • google blog doesn’t follow the same html everytime, there might be a finite set of formats, but I don’t want to find out, so I will just assume that it is not predictable.
  • understanding the chrome side panel life cycle, triggers, etc.
  • testing rag chunking and embedding instantly hit the rate limit, so I had to remove RAG. It turns out that it was because I was using a model that wasn’t available to me for free. So I switched to 2.5 flash.
  • in the end, still removed the rag features because the model rate limit is too low.
  • god damn rate limit
  • known chrome extension bug that permission pop ups dont work from side panel

Accomplishments that we're proud of

Learning chrome extensions, learning Gemini API, learning langchain, learning elevenlabs.

What we learned

Chrome extensions, Langchain, and Elevenlabs from 0 prior knowledge, Gemini API with limited prior knowledge.

What's next for Read Me

Publish the extention to the chrome extention store. Homepage for progression tracking, in-line annotation, use voice to trigger events on the ui, customizability in filtering and sourcing of the blogs (not just google).

Built With

Share this project:

Updates

Submission history