jaredlander/freshbooks-speed

A Chrome extension to fix speed issues in the Freshbooks website

0 stars0 forksUpdated Jan 15, 2026
npx skills add jaredlander/freshbooks-speed

README

FreshBooks Speed Boost

A Chrome extension that supercharges FreshBooks dropdowns for blazing-fast data entry.

The Problem

If you use FreshBooks with hundreds of merchants or categories, you know the pain:

  • Opening dropdowns can take 2-5 seconds to render
  • Pages freeze while loading hundreds of items
  • Data entry becomes frustratingly slow
  • Your productivity suffers

FreshBooks renders all dropdown items at once, causing performance issues when you have large datasets.

The Solution

FreshBooks Speed Boost adds client-side pagination to dropdowns, showing only 50 items at a time:

  • Dropdowns open in under 200ms (10-25x faster)
  • Smooth, responsive interface
  • No more freezing or waiting
  • Your search/filter functionality still works perfectly

Performance Improvement

ScenarioBeforeAfter
500 merchants3-5 seconds<200ms
1000 categories5+ seconds<200ms
Memory usageIncreases over timeStable

Features

Automatic pagination - Dropdowns with >50 items get paginated automatically ✅ Next/Previous navigation - Easy-to-use pagination controls ✅ Page indicator - Always know where you are (e.g., "Page 1 of 10") ✅ Search/filter compatible - Type to filter, pagination hides automatically ✅ Memory efficient - Proper cleanup prevents memory leaks ✅ Works with all dropdowns - Merchant, category, and any other FreshBooks dropdown ✅ No dependencies - Lightweight, vanilla JavaScript

Installation

Option A: Manual Installation (Recommended for Now)

  1. Download the extension files from this repository

  2. Open Chrome Extensions

    • Navigate to chrome://extensions/
    • Or click the puzzle icon → "Manage Extensions"
  3. Enable Developer Mode

    • Toggle the "Developer mode" switch in the top right corner
  4. Load the extension

    • Click "Load unpacked"
    • Select the freshbooks-speed-boost directory
    • The extension icon should appear in your toolbar
  5. Done! - The extension is now active on all FreshBooks pages

Option B: Chrome Web Store

Chrome Web Store listing coming soon

Usage

Using the extension is automatic once installed:

  1. Navigate to FreshBooks (https://my.freshbooks.com/)

  2. Open any dropdown (merchant, category, etc.)

  3. Pagination appears automatically if there are more than 50 items:

    [← Previous]  Page 1 of 10 (500 total)  [Next →]
    
  4. Click Next/Previous to navigate between pages

  5. Type to filter - Pagination disappears, showing all matching results

  6. Close dropdown - Memory is automatically cleaned up

Example Scenarios

Scenario 1: Browsing merchants

  • Open merchant dropdown
  • See first 50 merchants
  • Click "Next" to see merchants 51-100
  • Continue browsing with fast, responsive UI

Scenario 2: Searching for a specific merchant

  • Open merchant dropdown
  • Type "Acme" to filter
  • Pagination disappears, all "Acme" merchants shown
  • Clear search, pagination returns

Scenario 3: Working with categories

  • Works identically with category dropdowns
  • Or any other FreshBooks dropdown with many items

Technical Details

  • Platform: Chrome Extension (Manifest V3)
  • Compatibility: Chrome, Edge, Brave, and other Chromium-based browsers
  • Technology: Vanilla JavaScript (no dependencies)
  • Injection: Content script runs on https://my.freshbooks.com/*
  • Selectors: Uses semantic HTML attributes (role="listbox", etc.) for stability
  • Memory Management: Proper cleanup prevents memory leaks
  • Page Size: 50 items per page (configurable in source)

How It Works

  1. Extension monitors for FreshBooks dropdowns using MutationObserver
  2. When a dropdown with >50 items opens, pagination is applied
  3. DOM elements outside the current page are hidden (not removed)
  4. User interactions (Next/Previous) show/hide appropriate items
  5. When dropdown closes, all references are cleaned up to prevent memory leaks

Requirements

  • Browser: Chrome, Edge, Brave, or any Chromium-based browser
  • FreshBooks Account: Active account with access to https://my.freshbooks.com/*
  • Permissions: Extension only accesses FreshBooks pages (see manifest.json)

Troubleshooting

Extension not working?

  1. Check if enabled: Go to chrome://extensions/ and ensure the extension is enabled
  2. Reload FreshBooks: Refresh your FreshBooks page after installing
  3. Check console: Open DevTools (F12) → Console, look for "[FreshBooks Speed Boost]" messages
  4. Verify page URL: Extension only works on https://my.freshbooks.com/* pages

Pagination not appearing?

  • Check item count: Pagination only appears for dropdowns with >50 items
  • Disable filter: If you're filtering, pagination hides automatically (this is expected)
  • Ember selectors changed: FreshBooks may have updated their UI. Check CLAUDE.md for selector updates

Performance issues

...

Read full README

Publisher

jaredlanderjaredlander

Statistics

Stars0
Forks0
Open Issues0
LicenseMIT License
CreatedJan 14, 2026