Inspiration

I first became interested in lightweight AI models when I experimented with an ONNX-based text summarizer. I was amazed that it could perform reasonably well entirely offline, without relying on any hosted large language models. That moment made me realize that this could be the next step forward for AI — smaller, optimized models that can run locally while still being powerful enough for everyday use, without drawing massive amounts of energy from large data centers.

Around the same time, I was also curious about how Chrome extensions work and wanted to learn how to build one. I originally planned to create a tab manager, but those two interests, lightweight local AI and browser extensions, eventually converged into Learning Buddy, an AI-powered Chrome extension that helps users quickly understand unfamiliar concepts on the web and revise them later to reinforce learning.


What it does

Learning Buddy addresses the problem of passive information consumption that many students and self-learners face. We often spend hours reading articles, research papers, or documentation, but rarely engage deeply with the content. Highlighting or saving snippets isn’t the same as understanding them.

To fix this, Learning Buddy turns the act of highlighting text into an interactive learning experience. When a user highlights something on a webpage, the extension instantly generates AI-powered explanations, analogies, key ideas, and quizzes all processed locally through Gemini Nano. This keeps everything private and allows learners to actively engage with complex topics, create personalized flashcards, and test their understanding on the spot.


How we built it

I built Learning Buddy using Node.js and the WXT framework, which streamlined the process of creating a structured Chrome extension. The frontend is built with React, leveraging my prior experience to design responsive pages and components for the popup and side panel.

For AI interactions, I used Chrome’s experimental on-device Gemini Nano API, connecting the background service worker, side panel, and content scripts through message passing. This setup allows the AI to respond instantly to highlighted text while keeping all data local to the device.


Challenges we ran into

Being a solo developer meant I had to seek feedback on design and usability from friends and peers instead of a dedicated team. On the technical side, the biggest challenge was figuring out how to handle Gemini Nano’s context management. I discovered that once the model was “locked” into a specific prompt format (e.g., “True” or “False”), it would ignore future context unless reset manually. Managing that required fine-tuning the workflow and prompt resets.

I also ran into issues with message passing between the background script and the side panel, which led to some unexpected race conditions. Solving that taught me a lot about asynchronous event handling in Chrome’s extension architecture.


Accomplishments that we're proud of

I’m proud that I managed to build a fully functional, privacy-first AI learning tool that actually fulfills its goal — helping users understand, remember, test, correct, and reinforce new information. Learning Buddy closes the loop between comprehension and retention, all within a simple, accessible browser experience.


What we learned

Through this project, I learned how to build an entire browser extension ecosystem from scratch; From handling background events and side panels to designing React-based UIs and integrating Chrome’s on-device AI APIs. More importantly, I gained a deeper appreciation for the challenges of model prompt design, race condition debugging, and UX flow in interactive AI applications.

This project also reinforced my belief that AI doesn’t always need to live in the cloud. Local models like Gemini Nano can make AI faster, safer, and more personal especially for education and productivity tools.


What's next for Learning Buddy

Moving forward, I want to make Learning Buddy more conversational. Users should be able to ask follow-up questions about a summarized topic to explore nuances or related concepts. Another planned feature is layered card testing, where the AI can take in multiple related cards at once and generate composite questions that connect them.

Ultimately, I hope Learning Buddy evolves into a complete on-device AI study companion, capable of guiding users through deep learning journeys one highlight at a time.

Built With

Share this project:

Updates