Wan Musa
All projects
Browser extensionImplemented - local Chrome tool

Local Web Scraping

A Chrome extension that captures job adverts from the page you are viewing, keeps them in a local review workspace, and exports structured records without an LLM.

View on GitHub

Problem & context

Copying job adverts by hand loses formatting and source details, while generic page extraction can mix the advert with navigation, recommendations, and unrelated content.

My contribution

I built a Manifest V3 extension with page and selection capture, site-aware text cleanup, an editable review workspace, and structured exports for downstream processing.

Workflow

  1. Open a job advert

    Seek, LinkedIn, or another site

  2. Capture page or selection

    Context menu, shortcut, or popup

  3. Isolate advert text

    Site-aware cleanup and metadata

  4. Review and edit locally

    Chrome local storage

  5. Export selected records

    JSON, CSV, or Markdown

  6. Optional inbox handoff

    Explicit send to a configured endpoint

High-level workflow.

Technology

  • JavaScript
  • Chrome Manifest V3
  • DOM extraction
  • Chrome Storage API
  • Schema-version-2 JSON
  • CSV
  • Markdown

Key design decisions

Capture what the user can inspect

The extension reads the current page rather than crawling URLs. Site-specific description containers reduce irrelevant text, and selection capture provides a fallback when the page layout is unfamiliar.

Preserve evidence before interpreting it

Capture retains advert text, headings, list boundaries, and numeric requirements without model summarisation. Users review the record before exporting it to another system.

Local by default, explicit handoff

Capture, editing, and export work offline. Sending records to an HTTPS inbox is optional and happens only after the user configures the connection and explicitly selects jobs to send.

Capabilities & limitations

Implemented

  • Page or selected-text capture through menus, shortcuts, and a popup
  • Seek and LinkedIn extraction with a generic visible-text fallback
  • Local review, editing, selection, and deletion of captured jobs
  • One JSON file per job, plus batch CSV and Markdown exports
  • Optional authenticated handoff to a job-ingestion endpoint

Limitations

  • Captures the current page; it is not an unattended crawler
  • Collapsed advert text must be expanded before capture
  • Website markup changes can require extraction updates or manual selection
  • Native Chrome menus, permissions, and download prompts need manual browser checks

Have a workflow worth automating?

I'm interested in AI-focused roles and conversations about building useful, practical agentic AI systems.