Smart Summarize

A powerful Chrome extension to enhance your browsing experience with content summarization and intelligent responses.

Inspiration

The inspiration for Smart Summarize came from my desire to create a tool that could save users time by providing concise, accurate summaries of web content. I wanted to simplify the process of extracting key details from various types of documents and web pages effortlessly.


What It Does

Smart Summarize is a versatile Chrome extension designed to transform your browsing experience. It offers:

  • Web Page Summarization: Generates concise summaries of web pages for quick insights.
  • File Summarization: Processes and summarizes content from multiple file formats, including PDFs, JavaScript, Python, HTML, CSS, Markdown, CSV, XML, and RTF.
  • Custom Queries: Enables users to extract specific information, such as publication dates or authors from articles, and integrates seamlessly with platforms like Stack Overflow, Uber Eats, and more.
  • Integrated AI Assistant: Delivers intelligent responses and actionable insights, powered by advanced AI models, based on the page content or uploaded files.

How I Built It

Smart Summarize was developed using a modern tech stack and innovative techniques:

  • Frontend: Built with React, React Router, Shadcn, and Tailwind CSS. I integrated Google's Gemini AI models (Gemini Nano) for advanced content summarization and analysis, alongside the Google Flash 1.5 model for document and prompt analysis.
  • Backend: Powered by Node.js and Express, leveraging the Google Gemini API for AI-driven responses and Sequelize ORM for robust database management.
  • Authentication: Secure user authentication was implemented using the Chrome Identity API with Google OAuth2 and JWT tokens, ensuring effective session management.

Challenges I Ran Into

Translation API Limitations

  • Chrome Canary's early-stage translation APIs were unstable, limiting my ability to implement multilingual support.

Streaming Issues

  • Gemini Nano supports streaming prompts but occasionally stops mid-process. To address this, I incorporated dual support for Gemini Nano and Google Flash 1.5, though signaling inconsistencies with Gemini Nano remain a challenge.

API Integration

  • Integrating the Gemini API with the frontend and backend required significant effort to enable seamless communication, especially with streaming functionality.

Notable Bugs and Issues Encountered:

  • Chrome Bug 380707232: Issue Link
  • Chrome Bug 380712811: Issue Link
  • Chrome Bug 381535058: Issue Link
  • Buffer Support Issue: Challenges in uploadFile with buffer support were resolved using memoryStorage. I also contributed a comment on the related GitHub issue.

Accomplishments That I'm Proud Of

  • Efficient Summarization: Developed a highly effective summarization engine compatible with diverse content types from web pages.
  • Custom Query Feature: Delivered personalized query support, enabling users to extract granular details such as authorship and publication dates.
  • Advanced AI Integration: Successfully embedded powerful AI capabilities (Gemini Nano) to provide real-time insights, marking a significant milestone in Chrome extension development.

What I Learned

  • User-Centric Design: Enhanced my understanding of building tools that prioritize user efficiency and simplicity when navigating extensive information.
  • API and Chrome Extension Development: Gained valuable experience in integrating APIs and managing secure authentication for a Chrome extension.
  • Iterative Improvements: Improved my ability to refine features iteratively, enhancing both the user interface and summarization accuracy with each development cycle.

What's Next for Smart Summarize

  • User Feedback Integration: Optimizing performance, accuracy, and user experience based on feedback.
  • Multilingual Support: Adding translation features for better accessibility across languages.
  • History Features: Introducing a feature to maintain a history of summaries and queries for user convenience.

Built With

Share this project:

Updates