Florence Extension

Role: Solo Developer Timeline: Ongoing (2025–Present) Platform: Browser (Chrome / Edge)

A Manifest V3 browser extension that injects a right-side workflow sidebar into Florence eBinder / Research Binders. It lets authorized users automate repetitive document-log sign-offs, training-log entries, and study workflow tasks directly from the browser — with persistent settings, progress feedback, and no remote code execution.

The Problem

Florence eBinder (Research Binders) is used to manage electronic document logs, training logs, and study-team workflows. Many high-volume actions require repetitive clicks through large virtual-scroll lists with no built-in batch operations:

Solution Overview

Right-Side Sidebar

  • Fixed sidebar docked to the right edge of Research Binders pages
  • 360 px right offset applied to the host page so content is not covered
  • Toggle visibility with a configurable keybind (default F2)
  • Draggable, theme-aware UI with start/pause/stop controls

Document Log Automation

  • Progressive scroll-and-scan loop handles Angular CDK virtual scroll viewports
  • Status tracking per entry: pending, found, not found, duplicate
  • Configurable scan step, settle delays, retry attempts, and timeout ceilings
  • Respects aria-busy states to avoid interacting during loading

Form Filling & Workflows

  • Automated member selection from dynamic filtered dropdowns
  • Retry logic for option rendering, virtual scroll lists, and save confirmation
  • User-entered Study Library and Training Log state persisted across reloads
  • Clipboard helpers for copying generated workflow text

Manifest V3 Compliance

  • All code bundled in the extension; no remote code execution
  • Host permission limited to https://us.v2.researchbinders.com/*
  • Storage permission used only for local settings and user-entered workflow data
  • Privacy policy, data-disclosure answers, and reviewer test instructions prepared

Settings & Configuration

  • Keybind customization to show/hide the sidebar
  • Button reordering and visibility toggles
  • Log panel show/hide and theme mode preferences
  • Settings stored in chrome.storage.local and host-origin localStorage where appropriate

State Management

  • Run modes and progress survive page reloads via localStorage
  • Pause/resume checks at the start of every process function
  • Popups restored automatically across navigations
  • Robust teardown that clears timers, observers, and idle callbacks

Tech Stack

JavaScript (ES6) Chrome Extension API Manifest V3 Content Script MutationObserver Virtual Scroll (CDK) chrome.storage.local DOM Automation

Screenshots

Challenges & Solutions

Outcomes & Impact

Lessons Learned

Future Improvements