Skip to content

Steel-tech/Bid-Extractor

Repository files navigation

πŸ”₯ Bid Extractor v1.4.0 - Blueprint Edition

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.

Version Chrome License


πŸ“‹ Table of Contents


✨ Features

Core Functionality

  • 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

Matrix Edition (v1.3.0)

  • 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 Edition (v1.4.0)

  • 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

πŸš€ Installation

Step 1: Download the Extension

Download or clone the extension folder to your computer.

Step 2: Open Chrome Extensions

  1. Open Google Chrome
  2. Type chrome://extensions in the address bar
  3. Press Enter

Step 3: Enable Developer Mode

  1. Look for the "Developer mode" toggle in the top-right corner
  2. Click to turn it ON (toggle should be blue)

Developer Mode

Step 4: Load the Extension

  1. Click the "Load unpacked" button (top-left area)
  2. Navigate to the bid-extractor folder on your computer
  3. Select the folder and click "Open" or "Select Folder"

Step 5: Pin the Extension (Recommended)

  1. Click the puzzle piece icon 🧩 in the Chrome toolbar (top-right)
  2. Find "Bid Extractor" in the dropdown list
  3. Click the pin icon πŸ“Œ next to it to keep it always visible

βœ… Installation Complete!

You should now see the Bid Extractor icon in your Chrome toolbar. The extension is ready to use!


πŸ“– How to Use

Quick Start Flow

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

Detailed Step-by-Step Guide

Step 1: Open Your Email

  • Go to Gmail or Outlook
  • Click on an email containing bid/RFQ information
  • Make sure the full email content is loaded (not just preview)

Step 2: Launch Bid Extractor

  • 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

Step 3: Extract Data

  • Click the green "extract from email" button
  • Wait for extraction (status shows "extracting...")
  • Extracted data appears in the preview section

Step 4: Review the Information

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

Step 5: Auto-Generated Files

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

Step 6: Add to Calendar (Optional)

  • 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

πŸ“ Blueprint Viewer

The Blueprint Viewer lets you view, annotate, and extract data from PDF blueprints.

Opening Blueprints

  1. Extract a bid from an email with PDF attachments
  2. In the popup, scroll to the "Blueprints" section
  3. Click on any PDF to open it in the viewer

Viewer Features

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

OCR Title Block Extraction

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)

Annotations

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.


🎯 Priority Scoring

The extension calculates a priority score (0-100) for each bid to help you focus on what matters most.

Scoring Breakdown

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

Priority Levels

Score Level Badge Meaning
70-100 HIGH πŸ”΄ Red (pulsing) Act NOW
40-69 MEDIUM 🟠 Orange Plan this week
0-39 LOW 🟒 Green Can wait

Dashboard Stats

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

🌐 Supported Platforms

Email Providers

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

Bid Platforms (Link Extraction)

Platform Status What It Does
BuildingConnected βœ… Supported Extracts project download links
PlanHub βœ… Supported Extracts project download links
Procore βœ… Supported Extracts project download links

βš™οΈ Settings

Click the gear icon βš™οΈ in the popup footer to access settings.

Download Folder Pattern

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_Tower
  • RFQ/{date}_{project} β†’ RFQ/01-15-2025_Office_Tower
  • Bids/{gc}/{project} β†’ Bids/Turner/Office_Tower

Options

Setting Description
Auto-download attachments Automatically save files when extracting
Create bid_info.txt summary Generate a plain text summary file

πŸ” API Keys & Security

Google Cloud Vision API Key (Optional)

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.

Getting an API Key

  1. Go to Google Cloud Console
  2. Create a new project (or select existing)
  3. Enable the Cloud Vision API
  4. Go to Credentials β†’ Create Credentials β†’ API Key
  5. Copy your new key

Adding Your API Key

  1. Open the Bid Extractor popup
  2. Click the settings gear βš™οΈ (bottom left)
  3. Scroll to "Blueprint Settings"
  4. Paste your key in the "google vision api key" field
  5. Click "save settings"

Cost

  • Free tier: 1,000 images/month
  • After free tier: ~$1.50 per 1,000 images

⚠️ Security Best Practices

βœ… 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:

  1. Go to Google Cloud Console β†’ Credentials
  2. Delete or regenerate the compromised key immediately
  3. Create a new key with proper restrictions

Key Restrictions (Recommended)

In Google Cloud Console, restrict your API key:

  • API restrictions: Cloud Vision API only
  • Application restrictions: None (for browser extension)

πŸ”§ Troubleshooting

Common Issues

"Refresh Gmail page first" Error

  • Cause: Content script didn't load properly
  • Fix: Refresh the Gmail/Outlook page (F5 or Ctrl+R), then try again

Extension Shows "Open Gmail or Outlook"

  • Cause: You're not on a supported email page
  • Fix: Navigate to mail.google.com or outlook.com

Extraction Returns Empty or Wrong Data

  • Cause: Email format not recognized, or preview mode
  • Fix:
    1. Open the full email (not just preview pane)
    2. Wait for email to fully load
    3. Try extracting again

Downloads Not Working

  • Cause: Chrome download permissions or blocked popups
  • Fix:
    1. Go to Chrome Settings β†’ Downloads
    2. Enable "Ask where to save each file" or set a default location
    3. Allow the extension to download multiple files

Digital Rain Not Showing

  • Cause: Hardware acceleration might be disabled
  • Fix:
    1. Go to Chrome Settings β†’ System
    2. Enable "Use hardware acceleration when available"
    3. Restart Chrome

Priority Scores All Zero

  • Cause: No bid date extracted
  • Fix: Ensure the email contains a recognizable date format

πŸ“ Project Structure

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

πŸ”„ Version History

v1.4.0 - Blueprint Edition (Current)

  • ✨ 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)

v1.3.0 - Matrix Edition

  • ✨ 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

v1.2.0

  • ✨ Project Info Sheet HTML generation
  • ✨ Folder naming: GC + Date + Project format
  • ✨ Auto-download on extraction

v1.1.0

  • ✨ Calendar integration (Google, Outlook, .ics file)
  • ✨ BuildingConnected support
  • ✨ PlanHub support
  • ✨ Procore support

v1.0.0

  • πŸŽ‰ Initial release
  • Gmail and Outlook extraction
  • Basic download functionality
  • Organized folder structure

πŸ”’ Privacy & Security

Data Handling

  • 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

What Gets Stored

  • 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

Permissions Explained

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

Security

  • 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

πŸ“œ License

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.


πŸ‘€ Credits

Created by

Victor Garcia

πŸ—οΈ StructuPath.ai

Building intelligent tools for the construction industry


StructuPath


πŸ“ž Support

For support, feature requests, or bug reports:

Channel Contact
Website structupath.ai
Issues Contact through website

πŸ”₯ EXTRACT BIDS. PRIORITIZE SMART. WIN PROJECTS. πŸ”₯


Built with precision by Victor Garcia @ StructuPath.ai

Β© 2026 Victor Garcia / StructuPath.ai - MIT License

About

Chrome extension for extracting RFQ/bid data from Gmail, Outlook, BuildingConnected, PlanHub & Procore. Priority scoring (0-100), auto-downloads, calendar integration, Matrix-themed UI. 100% local - no data sent anywhere. For construction pros.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors