Gmail Inbox Project Tracker
A Chrome extension that consolidates project information from multiple sources (Supabase database, Google Calendar, Google Drive) directly into the Gmail interface, eliminating context switching and streamlining workflow for project managers.
Features
- Project Dashboard: View all your projects in a collapsible table above your Gmail inbox with priority-based sorting
- Editable Project Notes: Double-click to edit project notes with real-time saving to Supabase database
- Meeting Management: View meeting status and create meeting recaps directly from Gmail
- Priority Scoring: Visual priority bars with color-coded indicators based on calculated scores
- Quick Access: Instantly access Salesforce records, Google Docs, and Drive folders
- Auto-Refresh: Keeps your data fresh with configurable 15-minute refresh intervals
- Resizable Interface: Adjust dashboard height with persistent preferences
Installation
Developer Mode Installation
-
Clone this repository to your local machine:
git clone https://github.com/rznhellen/gmail-project-tracker.git
-
Open Chrome and navigate to
chrome://extensions/
-
Enable "Developer mode" in the top-right corner
-
Click "Load unpacked" and select the directory containing the extension files
-
The extension should now be installed and active in your browser
Chrome Web Store Installation (Coming Soon)
- Navigate to the Chrome Web Store
- Search for "Gmail Project Tracker"
- Click "Add to Chrome"
Usage
- Access Gmail: The project dashboard will automatically appear above your inbox
- View Projects: All your projects from Supabase will be displayed in the dashboard, sorted by priority
- Edit Project Notes: Double-click on any project's notes cell to edit and save notes
- Create Meeting Recaps: Click the recap button for past meetings to generate a pre-populated email
- Schedule Follow-ups: Click the calendar icon to set up your next meeting
- View Documents: Access project notes documents and Drive folders directly from the dashboard
- Configure Settings: Click the extension icon in your browser toolbar to access settings
Configuration
The following settings can be configured by clicking the extension icon:
- Auto-collapse: Choose whether the dashboard automatically collapses when Gmail loads
- Auto-refresh: Enable/disable automatic data refresh (occurs every 15 minutes by default)
- Salesforce Connection: Connect or disconnect your Salesforce account (simulated)
Database Integration
The extension integrates with Supabase for data storage and retrieval:
- Project Data: Fetched from the
projectdata
table in Supabase - Notes Storage: Project notes are stored and updated in real-time
- Fallback Handling: Graceful error handling with empty state when data is unavailable
Development
Project Structure
/
├── manifest.json # Extension configuration (Manifest V3)
├── background.js # Background service worker with Supabase integration
├── contentScript.js # Main tracker component injection and management
├── popup.html # Extension popup UI
├── popup.js # Popup functionality and settings
├── popup.css # Popup styles
├── styles.css # Main tracker styles with Material Design
├── onboarding.html # First-time user onboarding page
└── images/ # Extension icons
Key Features Implementation
- Material Design UI: Clean, modern interface following Google's design principles
- Supabase Integration: Direct REST API calls for data management
- Real-time Notes Editing: Double-click to edit with auto-save and character limits
- Priority Visualization: Color-coded priority bars with dynamic positioning
- Responsive Grid: Scrollable table with custom scrollbar and column management
- Gmail Integration: Seamless injection above inbox with collapse/expand functionality
Building From Source
- Make your changes to the source code
- Test the extension in Developer mode as described in the Installation section
- For production, you can zip the files for submission to the Chrome Web Store
Data Schema
Project Data Structure
{
projectId: string,
projectName: string,
accountId: string,
accountName: string,
salesforceProjectUrl: string,
salesforceAccountUrl: string,
notesLink: string, // Google Docs URL
folderLink: string, // Google Drive folder URL
customerTimezone: string,
timezoneOffset: number,
projectNotes: string, // Editable notes stored in Supabase
nextTaskName: string,
nextTaskDueDate: date,
priorityScore: number, // 0-1 range for priority calculation
colorCode: string, // Project color for visual identification
meetingDate: date,
recapSent: boolean
}
Permissions Required
This extension requires the following permissions:
storage
- To save your preferences and settingsidentity
- For future OAuth authenticationactiveTab
- To inject the dashboard into Gmailhttps://mail.google.com/*
- To access and modify Gmail interfacehttps://mwvyntzogaxegoypbxfd.supabase.co/*
- To access Supabase database
Privacy
This extension:
- Stores project data in Supabase with secure API access
- Does not collect or share any personal data beyond project information
- Stores preferences only on your local machine
- Makes direct API calls to Supabase using authenticated endpoints
- Does not use any third-party analytics or tracking
Technical Implementation
- Framework: Vanilla JavaScript for optimal performance
- Database: Supabase with REST API integration
- UI: Material Design principles with CSS Grid layout
- State Management: Module pattern with local state persistence
- Error Handling: Comprehensive error states with user feedback
Support
If you encounter any issues or have suggestions for improvement, please:
- Check the issue tracker for known issues
- Create a new issue if yours isn't already reported
- For urgent support, contact support@example.com
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Icons provided by Heroicons
- UI components styled with Material Design principles
- Database services provided by Supabase
Roadmap
Future features planned:
- Enhanced Salesforce OAuth integration
- Advanced filtering and sorting options
- Bulk operations for project management
- Enhanced meeting management with Google Calendar API
- Email auto-tagging functionality
- Mobile responsive design improvements