Skip to content

HectorGitt/DoomDigest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

53 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DoomDigest

πŸ€– AI-Powered Summarization

  • Smart Content Detection: Automatically detects articles, emails, social media posts, and feeds
  • Multiple AI Providers: Choose between Chrome's built-in AI or Google Gemini API
  • Advanced Summary Types: Key-points, headlines, teasers, and TLDR formats with length control
  • Intelligent Length Adaptation: Automatically adjusts summary length based on content type and complexity
  • Real-time Processing: Instant summarization as you browsewered Chrome extension for automatic article summarization, productivity analytics, and content management using Chrome's built-in AI APIs and Google Drive integration.

✨ Features

πŸ€– AI-Powered Summarization

  • Smart Content Detection: Automatically detects articles, emails, social media posts, and feeds
  • Multiple AI Providers: Choose between Chrome's built-in AI or Google Gemini API
  • Summary Types: Key-points, headlines, teasers, and custom formats
  • Real-time Processing: Instant summarization as you browse

πŸ“Š Productivity Analytics

  • Comprehensive Reports: Reading habits, content quality assessment, productivity insights
  • Time-based Analysis: Daily, weekly, monthly, quarterly, and custom date ranges
  • Auto-generated Reports: Scheduled analytics generation with customizable frequency
  • Advanced Customization: Focus areas, analysis depth, output formats, and custom instructions

☁️ Cloud Integration

  • Google Drive Sync: Automatic backup and sync of summaries and analytics
  • OAuth Authentication: Secure connection to Google Drive
  • Folder Management: Organized storage with automatic folder creation
  • Cross-device Access: Access your data from any device

🎯 Smart Features

  • Auto-Snap: Automatic summarization based on content length and time intervals with intelligent deduplication
  • Content Deduplication: Intelligent detection of already-processed content with daily hash resets
  • Content Type Detection: Automatically identifies emails, social media posts, articles, and feeds
  • Theme Adaptation: Automatically adapts to website color schemes (dark/light themes)
  • State Preservation: Loading states persist across page refreshes

πŸ’Ύ Advanced Storage

  • IndexedDB Storage: Local storage for summaries and analytics (no external dependencies)
  • Persistent Settings: All preferences and configurations saved locally
  • Export Options: TXT, Markdown, JSON, and HTML export formats
  • Clipboard Integration: One-click copying of summaries and reports

🎨 User Experience

  • Modern UI: Clean, responsive interface with Material Design icons
  • Navigation System: Seamless navigation between Digest, Analytics, and Settings
  • Loading States: Visual feedback for all operations
  • Toast Notifications: Real-time status updates and error handling

πŸš€ Installation

For Users

  1. Download the Extension

  2. Install in Chrome

    • Open Chrome and navigate to chrome://extensions/
    • Enable "Developer mode" in the top right corner
    • Click "Load unpacked" and select the extension folder
    • The DoomDigest extension will appear in your extensions list
  3. First Time Setup

    • Click the extension icon in the toolbar
    • Choose your preferred AI provider (Chrome AI or Google Gemini)
    • Configure auto-snap settings and notification preferences

For Developers

  1. Clone the Repository

    git clone https://github.com/HectorGitt/DoomDigest.git
    cd DoomDigest
  2. Install Dependencies

    npm install
  3. Build the Extension

    npm run build
  4. Load in Chrome

    • Open chrome://extensions/
    • Enable "Developer mode"
    • Click "Load unpacked" and select the dist/ folder

πŸ“– How to Use

Basic Summarization

  1. Open Any Webpage

    • Navigate to an article, blog post, email, or social media content
  2. Open DoomDigest Sidebar

    • Click the DoomDigest icon in the Chrome toolbar
    • Or use the keyboard shortcut (configurable in settings)
  3. Start Summarization

    • Click "Start PagePulse" to begin automatic content detection
    • Watch as summaries appear in real-time, grouped by website and content type
  4. Interact with Summaries

    • Click any summary to jump to the original content
    • Use "Stop All" to halt processing
    • Toggle "Auto Snap" for automatic summarization

Supported Content Types

DoomDigest automatically detects and optimizes summarization for different content types:

  • πŸ“„ Articles: Blog posts, news articles, documentation - summarized with key points (3-7 bullet points based on length)
  • πŸ“§ Emails: Gmail, Outlook, Yahoo mail - summarized with TLDR format (1-5 sentences based on length)
  • πŸ“± Social Posts: Twitter/X, LinkedIn, Facebook, Instagram posts - summarized with teaser format (1-5 sentences)
  • πŸ“° Social Feeds: News feeds and timelines - summarized with key points overview (3-7 bullet points)
  • πŸ“ Selected Text: User-selected content - intelligently summarized based on length and context

Advanced Features

Analytics Dashboard

  • Navigate to Analytics from the top navigation
  • Configure time periods, analysis depth, and focus areas
  • Generate comprehensive productivity reports
  • View auto-saved historical reports

Google Drive Integration

  • Go to Settings and connect your Google Drive
  • Enable auto-sync for automatic backups
  • Configure sync frequency and folder organization

Export & Sharing

  • Export summaries in multiple formats (TXT, MD, JSON)
  • Copy reports to clipboard for sharing
  • Sync analytics reports to Google Drive

Settings Configuration

AI Provider Setup

  • Chrome AI: Built-in, no configuration required
  • Google Gemini: Requires API key from Google AI Studio
    • Get your API key at Google AI Studio
    • Paste the key in Settings > API Configuration

Auto-Snap Configuration

  • Set content length thresholds for automatic summarization
  • Configure time intervals between auto-summaries
  • Enable/disable notifications

Analytics Preferences

  • Set auto-run frequency (daily, weekly, monthly)
  • Configure analysis depth and focus areas
  • Customize output formats and instructions

πŸ—οΈ Architecture

Core Components

Background Script (background.js)

  • Manages extension lifecycle and tab events
  • Coordinates communication between all components
  • Handles Google Drive authentication and sync
  • Manages alarms for auto-run analytics
  • Content Type Detection: Intelligently identifies emails, posts, articles, and feeds for optimized summarization

Content Script (content.js)

  • Detects and extracts readable content from web pages
  • Performs AI summarization using configured providers
  • Manages content deduplication and hashing
  • Handles auto-snap functionality

Sidebar (sidebar.js, sidebar.html, sidebar.css)

  • Main user interface for summarization controls
  • Displays summaries grouped by website and date
  • Adapts to website themes automatically
  • Manages generation state and user interactions

Analytics (analytics.js, analytics.html)

  • Comprehensive analytics dashboard
  • Auto-generates productivity reports
  • Manages report storage and export
  • Provides historical analytics viewing

Settings (settings.js, settings.html)

  • Complete configuration interface
  • API provider management
  • Google Drive integration setup
  • Auto-run and notification preferences

Data Storage

IndexedDB Databases

  • DoomDigestDB: Summaries storage with timestamp and URL indexing
  • DoomDigestAnalyticsDB: Analytics reports with generation date indexing

Chrome Storage

  • chrome.storage.sync: User preferences and settings
  • chrome.storage.local: Temporary states and loading indicators

πŸ”§ Development

Project Structure

src/
β”œβ”€β”€ background.js          # Extension background script
β”œβ”€β”€ content.js             # Content script for summarization
β”œβ”€β”€ sidebar.js             # Sidebar UI and controls
β”œβ”€β”€ sidebar.html           # Sidebar HTML template
β”œβ”€β”€ sidebar.css            # Sidebar styling
β”œβ”€β”€ analytics.js           # Analytics dashboard logic
β”œβ”€β”€ analytics.html         # Analytics page template
β”œβ”€β”€ settings.js            # Settings page logic
β”œβ”€β”€ settings.html          # Settings page template
β”œβ”€β”€ navigation.js          # Shared navigation component
β”œβ”€β”€ manifest.json          # Extension manifest
β”œβ”€β”€ icon.png              # Extension icon
└── toast.js              # Toast notification system

dist/                     # Built extension (generated)
β”œβ”€β”€ background.js
β”œβ”€β”€ content.js
β”œβ”€β”€ sidebar.js
β”œβ”€β”€ manifest.json
└── [other assets]

Build System

  • Rollup: Module bundling and optimization
  • ES6 Modules: Modern JavaScript with tree-shaking
  • Source Maps: Debugging support in development

Available Scripts

npm run build    # Build for production
npm run clean    # Clean dist directory
npm start        # Alias for build

βš™οΈ Configuration

Chrome AI Setup

  1. Ensure Chrome version 116+
  2. Visit chrome://flags/
  3. Enable "Experimental Web Platform features"
  4. Enable "Prompt API for Gemini Nano"
  5. Restart Chrome

Google Gemini Setup

  1. Visit Google AI Studio
  2. Create a new API key
  3. Copy the key to Settings > API Configuration
  4. Test the connection

Google Drive Setup

  1. Go to Settings > Google Drive
  2. Click "Connect Google Drive"
  3. Authorize the extension
  4. Configure sync preferences

For Developers: Setting up Google Drive Sync

To enable Google Drive synchronization, you need to configure OAuth credentials:

  1. Create a Google Cloud Console Project

  2. Enable Google Drive API

    • Go to "APIs & Services" > "Library"
    • Search for "Google Drive API" and enable it
  3. Configure OAuth Consent Screen

    • Go to "APIs & Services" > "OAuth consent screen"
    • Choose "External" user type
    • Fill in required information (app name, user support email, developer contact)
    • Add your email as a test user
  4. Create OAuth 2.0 Client ID

    • Go to "APIs & Services" > "Credentials"
    • Click "Create Credentials" > "OAuth 2.0 Client ID"
    • Choose "Chrome Extension" as application type
    • Enter your Chrome Extension ID (found in chrome://extensions/)
    • Copy the generated Client ID
  5. Update Manifest

    • Replace the client_id in src/manifest.json with your new Client ID
    • Rebuild the extension: npm run build
    • Reload the extension in Chrome

Note: The extension uses the scope https://www.googleapis.com/auth/drive.file for creating and managing files in a dedicated DoomDigest folder.

πŸ”’ Privacy & Security

  • Local Processing: All AI operations happen in your browser
  • No Data Transmission: Content never leaves your device (except for Google Drive sync when enabled)
  • Secure Storage: Sensitive data encrypted and stored locally
  • OAuth Integration: Secure Google Drive authentication
  • Content Hashing: Privacy-preserving duplicate detection

πŸ› Troubleshooting

Common Issues

Extension Not Loading

  • Check Chrome version (116+ required)
  • Verify AI features are enabled in chrome://flags/
  • Try reloading the extension
  • Check browser console for errors

Summarization Not Working

  • Ensure webpage has substantial text content
  • Check if content was already processed
  • Verify AI provider is configured correctly
  • Try switching between Chrome AI and Gemini
  • Content Type Issues: If content type is misidentified, summaries may use incorrect format (check digest view for content type badges)

Google Drive Sync Issues

  • Re-authorize Google Drive connection
  • Check internet connectivity
  • Verify Google Drive API permissions
  • Check browser console for authentication errors

Theme Not Adapting

  • Some websites have complex CSS
  • Extension falls back to light theme
  • Manual refresh may help

Debug Mode

  • Open Chrome DevTools on extension pages
  • Check Console tab for error messages
  • Use Application tab to inspect storage
  • Enable verbose logging in settings

🀝 Contributing

  1. Fork the Repository

    git clone https://github.com/HectorGitt/DoomDigest.git
    cd DoomDigest
  2. Create Feature Branch

    git checkout -b feature/your-feature-name
  3. Make Changes

    • Follow ES6+ standards
    • Test thoroughly on multiple websites
    • Ensure responsive design
    • Maintain accessibility
  4. Build and Test

    npm run build
    # Load dist/ folder in Chrome extensions
  5. Submit Pull Request

    • Write clear commit messages
    • Include screenshots for UI changes
    • Update documentation if needed

Development Guidelines

  • Use async/await for asynchronous operations
  • Follow Chrome extension best practices
  • Maintain consistent code style
  • Add JSDoc comments for functions
  • Test on multiple browsers when possible

πŸ“„ License

MIT License - see LICENSE file for details

πŸ™ Acknowledgments

  • Built using Chrome's AI APIs and Google Generative AI
  • Material Design Icons for consistent UI
  • Chrome Extensions community for inspiration
  • Beta testers

πŸ“ž Support


DoomDigest - Transform your reading experience with AI-powered content summarization and productivity analytics.

About

Turns your doomscrolling into digestible summaries.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published