FINN HEAP — projects
← back to projects
business shipped v0.1.0 · Jul 2026

BulkBrowser icon BulkBrowser

A desktop app for running isolated Chrome sessions. Each session utilises profile-based autofill, a unique fingerprint via proxy assignment from a selected pool, Gmail iMAP OTP retrieval, and a live tab monitor.

▮ overview.md write-up

BulkBrowser is a desktop GUI for running numerous fully isolated Chrome sessions simultaneously. Each session gets its own Chrome user-data-dir, so cookies, storage and cache are completely separated and persist between runs, keeping the same profile, proxy, and fingerprint upon launch. This aims to tackle re-verification which can occur on websites the application was designed for. Users can also add extensions within the app to then utilise across all sessions.

Being my first project utilising an application state, I utilised Claude Code to learn more about PySide6 and Playwright, for the interface and Chrome instances respectively. The core logic is deliberately dependency-light for ease of creation and for simplicity purposes, allowing for easy testing and to allow for me to actually learn, not just let Claude create lines upon lines of unreadable syntax.

▮ features what it does
  • Isolated sessions — focal to the project, session stay separate and consistent throughout launches.
  • Proxy pool — import lists in several formats; duplicates dropped, with no two live sessions ever sharing a proxy.
  • Unique fingerprints — per-session user-agent, timezone, locale, viewport, navigator.*, WebGL vendor/renderer and canvas noise.
  • Adaptable autofill — reusable billing profiles and account logins inserted into the Chrome autofill method. XXX and random are supported for jigging.
  • Gmail IMAP OTP — pulls one-time passcodes and matches codes to the correct session via filtering.
  • Bulk CSV editing — allows for quick profile customisation and cross-application usage through a csv format.
  • Staggered launch & tab groups — session navigate to a given URL in a staggered period, to avoid triggerring instant detection.
  • Dashboard & live tab monitor — every open tab across every running session in one place.
▮ devlog blog
31 Jul 2026

v0.1.0 — packaged and portable

Got BulkBrowser to a first shippable build: a single portable BulkBrowser.exe that carries Python, Qt and Playwright’s driver inside one file and keeps its config in a folder beside itself. The core logic stayed stdlib-only on purpose, so the 38-odd tests (proxy de-dup and assignment, sticky pinning, autofill tokens, CSV round-trips, OTP extraction) all run headless with no display or browser.

▮ CHANGELOG recent updates
v0.1.0 Jul 2026
  • first release: isolated sessions, sticky proxies, fingerprints
  • proxy pool with de-dup + groups; selectable autofill with tokens
  • Gmail IMAP OTP matching; staggered navigation & tab groups
▮ roadmap future work
  • Record & replay — record actions on one session, replay across others.
  • Deep anti-detect — a patched-Chromium fingerprint engine.
  • Site-based account management — a master-password vault around the JSON stores.