Extract bid information from RFQ emails with style. Matrix-themed Chrome extension with priority scoring, dashboard stats, digital rain animation, and Blueprint Viewer with OCR.
- Features
- Installation
- How to Use
- Blueprint Viewer
- Priority Scoring
- Supported Platforms
- Settings
- API Keys & Security
- Troubleshooting
- Credits
- Email Extraction - Automatically extract bid details from RFQ emails
- Auto-Download - Save all attachments to organized folders
- Project Info Sheet - Generate HTML summary documents
- Calendar Integration - Add bid deadlines to Google Calendar, Outlook, or download .ics
- Digital Rain Animation - Matrix-style falling characters background
- Priority Scoring - Smart 0-100 scoring system for bid prioritization
- Dashboard Stats - Real-time counters for Due Today, This Week, High Priority
- Neon Cyberpunk Theme - Full Matrix green aesthetic with glow effects
- Blueprint Viewer - Full PDF viewer with zoom, rotation, thumbnails
- OCR Extraction - Extract title block data using Google Cloud Vision
- Annotations - Add highlights, text notes, rectangles, arrows to PDFs
- Auto-Rename - Rename blueprints based on extracted sheet numbers
Download or clone the extension folder to your computer.
- Open Google Chrome
- Type
chrome://extensionsin the address bar - Press Enter
- Look for the "Developer mode" toggle in the top-right corner
- Click to turn it ON (toggle should be blue)
- Click the "Load unpacked" button (top-left area)
- Navigate to the
bid-extractorfolder on your computer - Select the folder and click "Open" or "Select Folder"
- Click the puzzle piece icon π§© in the Chrome toolbar (top-right)
- Find "Bid Extractor" in the dropdown list
- Click the pin icon π next to it to keep it always visible
You should now see the Bid Extractor icon in your Chrome toolbar. The extension is ready to use!
1. Open Gmail or Outlook in Chrome
2. Navigate to an RFQ/bid invitation email
3. Click the Bid Extractor icon in your toolbar
4. Click "extract from email" button
5. Review extracted data
6. Files auto-download to organized folder
- Go to Gmail or Outlook
- Click on an email containing bid/RFQ information
- Make sure the full email content is loaded (not just preview)
- Click the Bid Extractor icon in your Chrome toolbar
- The popup will show "ready" status if you're on a supported page
- If it shows an error, refresh the page and try again
- Click the green "extract from email" button
- Wait for extraction (status shows "extracting...")
- Extracted data appears in the preview section
Check the extracted information:
| Field | Description |
|---|---|
| project | Project name from email |
| gc | General Contractor name |
| bid_date | Deadline (highlighted in yellow) |
| location | Project location |
| scope | Scope of work |
| files | Number of attachments |
The extension automatically creates and downloads:
Downloads/
βββ Bids/
βββ {GC_Name}_{Bid_Date}_{Project_Name}/
βββ bid_info.txt # Plain text summary
βββ Project_Info_Sheet.html # Professional HTML document
βββ [attachments...] # All downloaded files
Example:
Bids/
βββ Turner_Construction_01-15-2025_Office_Tower/
βββ bid_info.txt
βββ Project_Info_Sheet.html
βββ structural_drawings.pdf
βββ specifications.docx
- Click "add to calendar" button
- Choose your platform:
- Google Calendar - Opens Google Calendar in new tab
- Outlook Calendar - Opens Outlook Calendar in new tab
- Download .ics - Downloads universal calendar file
The Blueprint Viewer lets you view, annotate, and extract data from PDF blueprints.
- Extract a bid from an email with PDF attachments
- In the popup, scroll to the "Blueprints" section
- Click on any PDF to open it in the viewer
| Feature | Description | Shortcut |
|---|---|---|
| Navigation | Page prev/next, thumbnails | β β |
| Zoom | Fit page, fit width, 50%-300% | + - |
| Rotation | Rotate 90Β° left/right | - |
| Extract Data | OCR title block extraction | - |
| Annotations | Highlight, text, rectangle, arrow | H T R A |
Click "Extract Data" to automatically read:
- Project Name
- Sheet Number (e.g., A-101, S-200)
- Revision
- Date
- Scale
- Drawn By
Requires: Google Cloud Vision API key (see API Keys & Security)
| Tool | Description |
|---|---|
| Highlight | Yellow semi-transparent rectangle |
| Text Note | Add comments with marker icon |
| Rectangle | Draw outline boxes |
| Arrow | Point to specific areas |
Annotations are saved automatically per PDF.
The extension calculates a priority score (0-100) for each bid to help you focus on what matters most.
| Factor | Max Points | How It Works |
|---|---|---|
| Deadline Proximity | 40 | Due today = 40pts, Tomorrow = 38pts, This week = 25pts |
| GC Reputation | 20 | Major GCs (Turner, Skanska, McCarthy, etc.) = 20pts |
| Project Value | 20 | Keywords like "hospital", "stadium", "data center" = more points |
| Data Completeness | 10 | More filled fields = more points |
| Attachments | 10 | Having documents attached = serious bid |
| Score | Level | Badge | Meaning |
|---|---|---|---|
| 70-100 | HIGH | π΄ Red (pulsing) | Act NOW |
| 40-69 | MEDIUM | π Orange | Plan this week |
| 0-39 | LOW | π’ Green | Can wait |
The dashboard at the top shows real-time counts:
- Due Today - Bids with deadline TODAY (pulses red when > 0)
- This Week - Bids due within the next 7 days
- High Priority - Bids with score 70 or higher
| Platform | Status | URL |
|---|---|---|
| Gmail | β Fully Supported | mail.google.com |
| Outlook Web | β Fully Supported | outlook.com |
| Outlook Office 365 | β Fully Supported | outlook.office.com |
| Outlook Office 365 | β Fully Supported | outlook.office365.com |
| Platform | Status | What It Does |
|---|---|---|
| BuildingConnected | β Supported | Extracts project download links |
| PlanHub | β Supported | Extracts project download links |
| Procore | β Supported | Extracts project download links |
Click the gear icon βοΈ in the popup footer to access settings.
Customize how folders are named:
Default: Bids/{gc}_{date}_{project}
Available variables:
βββ {project} β Project name
βββ {gc} β General Contractor name
βββ {date} β Bid date (MM-DD-YYYY)
βββ {location} β Project location
Examples:
Bids/{gc}_{date}_{project}βBids/Turner_01-15-2025_Office_TowerRFQ/{date}_{project}βRFQ/01-15-2025_Office_TowerBids/{gc}/{project}βBids/Turner/Office_Tower
| Setting | Description |
|---|---|
| Auto-download attachments | Automatically save files when extracting |
| Create bid_info.txt summary | Generate a plain text summary file |
The OCR feature requires a Google Cloud Vision API key. This is optional - the extension works fully without it, you just won't have OCR extraction.
- Go to Google Cloud Console
- Create a new project (or select existing)
- Enable the Cloud Vision API
- Go to Credentials β Create Credentials β API Key
- Copy your new key
- Open the Bid Extractor popup
- Click the settings gear βοΈ (bottom left)
- Scroll to "Blueprint Settings"
- Paste your key in the "google vision api key" field
- Click "save settings"
- Free tier: 1,000 images/month
- After free tier: ~$1.50 per 1,000 images
| β DO | β DON'T |
|---|---|
| Add API keys through the Settings UI | Commit API keys to code or git |
| Store keys in Chrome's secure storage | Share keys in issues or chat |
| Regenerate keys if exposed | Use keys without restrictions |
| Restrict keys to specific APIs | Leave keys unrestricted |
If you accidentally expose a key:
- Go to Google Cloud Console β Credentials
- Delete or regenerate the compromised key immediately
- Create a new key with proper restrictions
In Google Cloud Console, restrict your API key:
- API restrictions: Cloud Vision API only
- Application restrictions: None (for browser extension)
- Cause: Content script didn't load properly
- Fix: Refresh the Gmail/Outlook page (F5 or Ctrl+R), then try again
- Cause: You're not on a supported email page
- Fix: Navigate to mail.google.com or outlook.com
- Cause: Email format not recognized, or preview mode
- Fix:
- Open the full email (not just preview pane)
- Wait for email to fully load
- Try extracting again
- Cause: Chrome download permissions or blocked popups
- Fix:
- Go to Chrome Settings β Downloads
- Enable "Ask where to save each file" or set a default location
- Allow the extension to download multiple files
- Cause: Hardware acceleration might be disabled
- Fix:
- Go to Chrome Settings β System
- Enable "Use hardware acceleration when available"
- Restart Chrome
- Cause: No bid date extracted
- Fix: Ensure the email contains a recognizable date format
bid-extractor/
βββ manifest.json # Extension configuration
βββ README.md # This documentation
βββ icons/ # Extension icons
β βββ icon16.png
β βββ icon32.png
β βββ icon48.png
β βββ icon128.png
βββ src/
βββ popup/ # Main popup interface
β βββ popup.html # HTML structure + stats dashboard
β βββ popup.css # Matrix theme styling
β βββ popup.js # Logic, animations, priority scoring
βββ blueprint/ # Blueprint Viewer (v1.4.0)
β βββ viewer.html # PDF viewer page
β βββ viewer.css # Viewer Matrix theme
β βββ viewer.js # PDF rendering, navigation
β βββ annotations.js # Canvas-based annotations
β βββ ocr-service.js # Google Vision API integration
βββ lib/ # External libraries
β βββ pdf.min.js # Mozilla PDF.js
β βββ pdf.worker.min.js # PDF.js worker
βββ config/ # Configuration files
β βββ blueprint-settings.json
β βββ gc-list.json
β βββ keywords.json
β βββ priority-weights.json
βββ content/ # Page injection scripts
β βββ gmail.js # Gmail email extraction
β βββ outlook.js # Outlook email extraction
β βββ content.css # Inline button Matrix styling
β βββ platforms/ # Bid platform extractors
β βββ buildingconnected.js
β βββ planhub.js
β βββ procore.js
βββ background/
βββ background.js # Service worker for downloads
- β¨ Blueprint Viewer - Full PDF viewer in new tab
- β¨ OCR Extraction - Extract title block data (Google Cloud Vision)
- β¨ Annotations - Highlight, text notes, rectangles, arrows
- β¨ Auto-Rename - Rename PDFs based on extracted metadata
- β¨ Blueprint settings in popup (naming pattern, API key)
- β¨ PDF thumbnails sidebar
- β¨ Keyboard shortcuts for viewer
- π Secure API key storage (Chrome sync)
- β¨ Full Matrix cyberpunk theme redesign
- β¨ Digital rain background animation
- β¨ Priority scoring system (0-100)
- β¨ Dashboard statistics (Due Today, This Week, High Priority)
- β¨ Priority badges on recent extractions
- β¨ Sorted recent list by priority score
- β¨ Neon green glow effects throughout
- β¨ Scanline overlays
- β¨ Terminal-style lowercase text
- β¨ Glassmorphism card effects
- β¨ Project Info Sheet HTML generation
- β¨ Folder naming: GC + Date + Project format
- β¨ Auto-download on extraction
- β¨ Calendar integration (Google, Outlook, .ics file)
- β¨ BuildingConnected support
- β¨ PlanHub support
- β¨ Procore support
- π Initial release
- Gmail and Outlook extraction
- Basic download functionality
- Organized folder structure
- 100% Local Processing - All extraction happens entirely in your browser
- Zero External Servers - No data is ever sent to any external servers or APIs
- No Analytics - We collect absolutely no usage data, telemetry, or tracking
- No Account Required - Works completely offline after installation
- Chrome Local Storage Only - Extracted bid data is saved only in your browser's local storage
- Never Synced - Data is NOT synced to Google or any cloud service
- You Own Your Data - Export, delete, or manage your data anytime
| Permission | Why We Need It |
|---|---|
activeTab |
Access the current email when you click "Extract" |
storage |
Save your extracted bids locally for the dashboard |
downloads |
Save attachments and info sheets to your Downloads folder |
tabs |
Check if you're on a supported email/bid platform |
- Open Source - Full code available for review on GitHub
- No Obfuscation - Clean, readable JavaScript you can audit
- Minimal Permissions - Only requests what's absolutely necessary
- MIT Licensed - Transparent and permissive licensing
MIT License - Open Source
Copyright (c) 2026 Victor Garcia / StructuPath.ai
Permission is hereby granted, free of charge, to any person obtaining a copy of this software to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies. See the LICENSE file for full details.
For support, feature requests, or bug reports:
| Channel | Contact |
|---|---|
| Website | structupath.ai |
| Issues | Contact through website |
Built with precision by Victor Garcia @ StructuPath.ai
Β© 2026 Victor Garcia / StructuPath.ai - MIT License