← All work

Case study

ClaimHawk Extension

Chrome MV3 extension that autofills class-action claim forms on settlement-administrator sites — with iframe widget injection, submit capture, and per-field undo.

Live · Chrome Web Store submission in review

Architecture

  • Manifest V3, plain JS — no build step, ships as a zipped folder
  • MutationObserver for dynamically-revealed fields on SPA wizards
  • Classifier reads data-test, data-testid, ancestor MUI FormControl labels, Angular formcontrolname and ng-reflect-name
  • Cross-origin iframe injection via server-curated widget_hosts registry + chrome.scripting.registerContentScripts
  • ngx-mask support via execCommand('insertText') to trigger Angular input handlers that React setter dispatch misses
  • Per-field undo disclosure with expandable “Show fills” UI
  • Submit-event detection → confirmation capture → mark_filed API call — dedupes per page so a single submit only fires once
  • SPA wizard support: per-path dismissal + form-fingerprint reprompt for same-URL wizards (Angular admin sites, A.B. Data etc.)
  • Service-worker apex-subdomain fallback for admin hosts served from subdomains of registered admin firms (e.g. claimform.homebuyerlitigation.com)

Why it's interesting for consulting

Most “form-filling extensions” stop at simple autofill on well-structured inputs. This one handles the messy real world: inputs with no label or name association, shadow DOM, cross-origin payment widgets, frameworks that re-render on validation, and submit flows that don't emit native events. If that sounds like your problem domain, the patterns here transfer directly. Talk to me.