GSoC 2026, Internet Archive - Sudipta Das Sudipta Das, a Google Summer of Code 2026 contributor at the Internet Archive, built a client-side AI extension for the Wayback Machine. The Chrome extension uses Gemini Nano to summarize archived pages, assess quality, and provide insights, all running locally in the browser. The project involved 36 commits and over 5,000 lines of code across 10 pull requests. Organization: Internet Archive Contributor: Sudipta Das Repository: internetarchive/wbm client side ai extension https://github.com/internetarchive/wbm client side ai extension Project Timeline: May 23, 2026 – June 26, 2026 Demo Video: YouTube https://youtu.be/FOKc8hIP7dQ Blog Series: Hashnode https://sudiptadas.hashnode.dev Weekly Logs: Notion https://www.notion.so/GSoC-2026-Internet-Archive-366417d0f1468091ad29cf698b03cff2 Branch Hierarchy https://gist.github.com/starred.atom branch-hierarchy PR 1: Initial Extension Setup https://gist.github.com/starred.atom pr-1-initial-extension-setup PR 2: Right-Click Context Menu & Core Features https://gist.github.com/starred.atom pr-2-right-click-context-menu--core-features PR 3: Streaming AI Response https://gist.github.com/starred.atom pr-3-streaming-ai-response PR 4: Resizable & Minimizable Popup https://gist.github.com/starred.atom pr-4-resizable--minimizable-popup PR 5: FAQs & Famous People Insights https://gist.github.com/starred.atom pr-5-faqs--famous-people-insights PR 6: Translation for FAQs & Insights https://gist.github.com/starred.atom pr-6-translation-for-faqs--insights PR 7: Accordion Containers, Tab Switching & Unified Loading https://gist.github.com/starred.atom pr-7-accordion-containers-tab-switching--unified-loading PR 8: Loading UI Refinements https://gist.github.com/starred.atom pr-8-loading-ui-refinements PR 9: AI Session Enhancements https://gist.github.com/starred.atom pr-9-ai-session-enhancements--system-prompts--response-constraints PR 10: Screenshot Support & Quality Analysis Enhancement https://gist.github.com/starred.atom pr-10-screenshot-support--quality-analysis-enhancement Project Summary https://gist.github.com/starred.atom project-summary php graph LR A "main" -- B "sudipta/extension-setup" B -- C "feature/right-click-menu" C -- D "feature/streaming-response" C -- E "feature/resizable-minimize-overlay" E -- F "feature/faqs-famous-persons" F -- G "feature/translate-faqs-insights" G -- H "feature/accordion-tab-view" H -- I "feature/loading-ui-refinements" I -- J "feature/ai-session-enhancements" J -- K "feature/screenshot-quality-enhancements" Total Commits: 36 excluding merge commits Total Lines of Code Net : ~5,000+ Languages: JavaScript, HTML, CSS Branch: sudipta/extension-setup Base: main PR: internetarchive/wbm client side ai extension 1 https://github.com/internetarchive/wbm client side ai extension/pull/1 Date: May 23 – May 31, 2026 Set up the development environment and established the foundation for the Chrome extension. Built the core architecture including AI integration, content extraction, page analysis, and UI framework. | Date | Commit | Message | |---|---|---| | May 25 | 46188bf | 392e3b6 3f74189 bb8d59d 5137cd0 ee82cca 40fb2a8 749fdb7 a96391a 39a5a37 Files created: 14 Lines added: 457 Key deliverables: - Extension manifest, background service worker, content script skeleton - Prompt API integration for Gemini Nano Chrome Built-in AI - Content extractor that parses archived page content including sidebars - Page analyzer with AI-powered summarization and quality assessment - Action panel UI with summarize/quality buttons - Browser support detection checkAIAvailability - Archived page verification isArchivedPage - Performance timing utilities Branch: feature/right-click-menu Base: sudipta/extension-setup PR: internetarchive/wbm client side ai extension 2 https://github.com/internetarchive/wbm client side ai extension/pull/2 Date: Jun 4 – Jun 16, 2026 Refactored the entire extension from a popup-based UI to a context-menu-driven architecture. Integrated Readability.js for robust content extraction, added Markdown rendering, multi-language translation, Shadow DOM isolation, and network timing visualization. Fixed multiple bugs related to async handling, error propagation, and accessibility. | Date | Commit | Message | |---|---|---| | Jun 4 | ec058ed | 15e30c1 a73f2a6 3b47376 abfda26 8bb2207 checkAIAvailability using await 6fa69ad d9a65b3 54b4f4b 5c6b3d7 f1dad84 8d92f8a 0e23bb8 sendResponse 96e4fca 1fa694c af8e50c Files changed: 20 3,894 insertions, 300 deletions Key deliverables: - Context menu integration right-click on any Wayback Machine page - Readability.js ~2,800 lines for high-quality content extraction with fallback marked.js library for Markdown rendering of AI responses- Chrome Translator API integration for multilingual support - Shadow DOM implementation for complete style isolation of the overlay - Network timing visualization showing resource breakdown and performance metrics - Accessibility fixes: ARIA labels, screen reader announcements, focus management - Bug fixes: async context menu handler, proper await on AI checks, error propagation Branch: feature/streaming-response Base: feature/right-click-menu PR: internetarchive/wbm client side ai extension 3 https://github.com/internetarchive/wbm client side ai extension/pull/3 Date: Jun 19, 2026 Added real-time streaming of AI responses from Gemini Nano, allowing users to see the summary text appear progressively as it's being generated rather than waiting for the complete response. | Date | Commit | Message | |---|---|---| | Jun 19 | 604bee6 | Files changed: 7 151 insertions, 45 deletions Key deliverables: - Streamed token-by-token AI response display - Real-time overlay updates during generation - Modified ai/utility.js to support streaming via ReadableStream - Updated background/content script messaging for streaming chunks Branch: feature/resizable-minimize-overlay Base: feature/right-click-menu PR: internetarchive/wbm client side ai extension 4 https://github.com/internetarchive/wbm client side ai extension/pull/4 Date: Jun 19, 2026 Refactored the overlay UI into a modular component system. Added resizable popup with drag-to-resize functionality, minimize/maximize toggle, and extracted UI into separate files base-popup, quality-popup, resizable, shadow-dom, styles . | Date | Commit | Message | |---|---|---| | Jun 19 | 49433c4 | 0eafa13 Files changed: 12 770 insertions, 510 deletions Key deliverables: - Modular UI architecture with separate files for each component - Resizable popup with draggable resize handle - Minimize/maximize toggle functionality base-popup.js — shared popup base component quality-popup.js — quality analysis popup resizable.js — resize handle logic shadow-dom.js — Shadow DOM creation utility styles.js — centralized CSS-in-JS styles Branch: feature/faqs-famous-persons Base: feature/resizable-minimize-overlay PR: internetarchive/wbm client side ai extension 5 https://github.com/internetarchive/wbm client side ai extension/pull/5 Date: Jun 22, 2026 Enhanced the AI summarization to generate structured insights including FAQs Frequently Asked Questions about the page content and Famous People notable individuals referenced in the page , displayed with a premium card-based UI. | Date | Commit | Message | |---|---|---| | Jun 22 | 1f7aba0 | fd161c1 Files changed: 6 400 insertions, 24 deletions Key deliverables: - Structured AI prompt generating FAQs 3–5 Q&A pairs from page content - Famous people extraction with bios and relevance context - Premium card-based UI for each insight section - Readme updated with demo video and branching diagram Branch: feature/translate-faqs-insights Base: feature/faqs-famous-persons PR: internetarchive/wbm client side ai extension 6 https://github.com/internetarchive/wbm client side ai extension/pull/6 Date: Jun 23, 2026 Extended the Chrome Translator API integration to translate not just the summary but also the FAQ and Famous People insights into the user's preferred language. | Date | Commit | Message | |---|---|---| | Jun 23 | c3d8380 | Files changed: 3 58 insertions, 7 deletions Key deliverables: - Translation pipeline for structured insight objects FAQs + Famous People - Language detection and preference handling - Seamless integration with existing summary translation flow Branch: feature/accordion-tab-view Base: feature/translate-faqs-insights PR: internetarchive/wbm client side ai extension 7 https://github.com/internetarchive/wbm client side ai extension/pull/7 Date: Jun 25, 2026 Redesigned the UI with accordion-style containers for Summary, Insights, and Quality sections. Added tab switching between sections and unified loading states across all components. | Date | Commit | Message | |---|---|---| | Jun 25 | a276490 | Files changed: 7 351 insertions, 106 deletions Key deliverables: - Accordion-style collapsible sections for Summary, Insights, Quality - Tab-based navigation between different views - Unified loading state management across all AI operations - Improved UI/UX with smooth transitions Branch: feature/loading-ui-refinements Base: feature/accordion-tab-view PR: internetarchive/wbm client side ai extension 8 https://github.com/internetarchive/wbm client side ai extension/pull/8 Date: Jun 25, 2026 Polished the UI to match Wayback Machine's brand colors and visual identity. Refined loading spinners, progress indicators, and overall visual design. | Date | Commit | Message | |---|---|---| | Jun 25 | 880eb90 | Files changed: 4 313 insertions, 515 deletions Key deliverables: - Wayback Machine brand color scheme integration - Refined loading spinner animations - Cleaner visual hierarchy and spacing - Reduced CSS bloat 515 lines removed, 313 added Branch: feature/ai-session-enhancements Base: feature/loading-ui-refinements PR: internetarchive/wbm client side ai extension 9 https://github.com/internetarchive/wbm client side ai extension/pull/9 Date: Jun 25–26, 2026 Introduced system prompts to guide AI behavior across different analysis modes. Added responseConstraint schemas to enforce structured JSON output from Gemini Nano, improving reliability and parsing. | Date | Commit | Message | |---|---|---| | Jun 25 | 33b472d | 77eee6e 7c78acb Files changed: 2 48 insertions, 13 deletions Key deliverables: - System prompts for summarization, quality analysis, and insights modes responseConstraint schemas enforcing structured JSON output- Improved AI response reliability and consistency - Prompt engineering refinements Branch: feature/screenshot-quality-enhancements current Base: feature/ai-session-enhancements PR: internetarchive/wbm client side ai extension 10 https://github.com/internetarchive/wbm client side ai extension/pull/10 Date: Jun 26, 2026 Added viewport screenshot capture capability using chrome.tabs.captureVisibleTab and integrated it with the multimodal AI for visual quality analysis. Added a responseConstraint schema specifically for quality assessment output. | Date | Commit | Message | |---|---|---| | Jun 26 | 9a46002 | 6adbb44 Files changed: 5 121 insertions, 12 deletions Key deliverables: - Viewport screenshot capture via chrome.tabs.captureVisibleTab - Multimodal AI analysis combining screenshot + page text for quality assessment - Quality assessment responseConstraint schema with structured output - Enhanced visual quality scoring using both textual and visual signals | Metric | Value | |---|---| | Total Commits | 36 by contributor | | Feature Branches | 10 | | Files in Project | 20+ | | Total Lines of Code Net | ~5,000+ | | Chrome APIs Used | Prompt API, Translator API, Context Menus, Tabs, Storage, Scripting | | Key Libraries | Readability.js, marked.js | | Timeline | May 23 – Jun 26, 2026 ~5 weeks |