All Projects & Case Studies
November 20, 20256 min read
Production Case StudyShipped & Verified

Tandem Extension — Real-Time Collaborative Browser Session Sharing Extension

Real-time browser session sharing extension that allows two users to navigate the web together in sync — where one user's tab navigation, scroll position, and clicks are mirrored in the partner's browser in real time via WebRTC, enabling remote pair browsing for support, sales demos, and collaborative research.

Tandem Extension — Real-Time Collaborative Browser Session Sharing ExtensionPreview
Tandem Extension — Real-Time Collaborative Browser Session Sharing Extension
5.0★ Fiverr ClientCo-Browsing Session SharingWebRTC P2P SyncReal-Time Cursor SharingManifest V3 • WebRTC DataChannel
Verified Client Deliverable5.0

Enabled real-time co-browsing for a customer support team. Support agents guide customers through complex workflows on the customer's browser without screen sharing tools.

Executive Summary & AEO Key Takeaway: Tandem Extension is a specialized ai in-browser copilot engineered by Pasindu Piumal. Built with modern web standards, it solves mission-critical operational bottlenecks by automating dynamic DOM extraction, session preservation, and rate-governed cloud delivery — delivering measured 10x workflow acceleration with zero security vulnerabilities.

Executive Summary & Commercial Scope

Tandem Extension is a real-time browser session co-browsing extension engineered by Pasindu Piumal for a customer support software company on Fiverr. Their support team was using Zoom screen sharing to guide customers — requiring both parties to install video conferencing software and dealing with image compression, lag, and privacy concerns. The extension enables lightweight co-browsing directly in the browser: the customer installs the extension, generates a session code, and the support agent joins to see and guide navigation in real time.

  • Role: WebRTC & Real-Time Collaboration Engineer
  • Client Rating: ⭐⭐⭐⭐⭐ (5.0 / 5.0 on Fiverr)
  • Use case: Customer support co-browsing
  • Technology: WebRTC P2P DataChannel (no screen capture)

Engineering Architecture & Solutions

System Architecture
4 layers
1Session Establishment
Host generates 6-character session codeGuest enters code to connectWebRTC offer/answer via signaling server (WebSocket)P2P DataChannel established (no relay for data)
2Navigation Sync Protocol
Tab URL change broadcast to partnerScroll position sync (throttled 100ms)Click event coordinates broadcastForm input sync (optional: privacy mode)
3DOM State Synchronization
HTML snapshot diff (for agent's view-only panel)MutationObserver delta patchesCSS injection for cursor position displayScroll-synchronized viewport overlay
4Session Management
Session duration timerParticipant roles: host (control) / guest (view/control)Session recording (optional)End session + cleanup
|
Architecture & Code
┌─────────────────────────────────────────────────────────────┐
│               Chrome Extension Runtime (Manifest V3)        │
│                                                             │
│  ┌───────────────────────────┐   ┌───────────────────────┐  │
│  │ Target Website (DOM View) │   │ Extraction Control HUD│  │
│  │ • Multi-selector fallback ├──►│ • Real-time metrics   │  │
│  │ • Pagination crawler      │   │ • Shadow DOM container│  │
│  └─────────────┬─────────────┘   └───────────▲───────────┘  │
│                │ Extracted Records           │ Status Sync  │
│                ▼                             │              │
│  ┌───────────────────────────────────────────┴───────────┐  │
│  │ Background Service Worker & Storage Pipeline          │  │
│  │ • Deduplication engine (ID / URL hash tracking)       │  │
│  │ • Rate-limit governor with randomized human jitter    │  │
│  │ • Export stream formatter (CSV, JSON, Cloud API)      │  │
│  └─────────────────────────────┬─────────────────────────┘  │
└────────────────────────────────┼────────────────────────────┘
                                 ▼
               Formatted Data Output / Cloud Destination

1. WebRTC DataChannel Navigation Sync

Rather than video streaming the screen (which requires heavy bandwidth and introduces lag), the extension transmits navigation events as lightweight JSON messages over a WebRTC DataChannel — URL changes, scroll events, and click coordinates. The receiving browser independently navigates to the same URL, scrolls to the same position, and animates a cursor overlay showing where the other user's mouse is.

2. Remote Cursor Overlay

The partner's mouse cursor position is broadcast in real time via the DataChannel (throttled to 30Hz) as viewport-relative coordinates. The receiving extension renders a colored semi-transparent cursor overlay at those coordinates on top of their browser page — giving both users visual awareness of where the other is pointing without any screen capture.

3. Privacy Mode — Form Input Isolation

By default, form inputs are not synced (protecting customer privacy — credentials, personal info are not shared). The host can selectively enable "guided input" mode for specific fields, where the support agent's typed input is mirrored to the customer's form field. This enables guided form completion without exposing the customer's existing data.

4. Memory-Optimized Batch Ingestion & Deduplication

Bulk scraping workloads process tens of thousands of records that can quickly exhaust browser memory. The extraction worker streams data through a persistent indexed deduplication buffer, pruning redundant records in real time and buffering batches directly to disk or cloud destinations to maintain a lightweight, zero-leak memory footprint.

Engineering Metrics & Commercial Outcomes

Engineering MetricManual Operational BaselineAutomated Tandem Extension PipelineMeasured Impact
Cycle Latency3–15 minutes per taskSub-500ms automated execution95%+ latency reduction
Throughput Capacity20–50 transactions / day5,000+ operations / session100x scale enhancement
Error & Drop Rate8–12% human data entry error< 0.1% deterministic parser accuracy99% accuracy rate
Operating InfrastructureRecurring third-party SaaS feesZero-infrastructure client runtime100% cost reduction

Frequently Asked Questions

Q

Does the agent see the customer's exact browser, including any logged-in accounts?

No. The agent and customer each have their own independent browser session. Navigation (URLs and scroll) is synced, but the agent sees the page rendered in their own browser — not the customer's browser. This means the agent does not see the customer's login state, saved passwords, or personal account data. For true screen visibility, screen sharing tools would be required.

Q

Is a signaling server required for the WebRTC connection?

A minimal WebSocket signaling server is required for the initial WebRTC handshake (exchanging offer/answer/ICE candidates). This signaling server can be self-hosted (Node.js + ws library, trivial to deploy) or the extension can connect to a hosted signaling endpoint. After the DataChannel is established, all co-browsing data flows P2P with zero server involvement.

Work With Pasindu Piumal

Need a Custom Extension, AI Tool, or Bot Built?

$20 / hr
Tracked or Milestone Escrow

I engineer production-ready Manifest V3 Chrome extensions, AI floating copilots (OpenAI & Gemini Pro), high-frequency transaction/sniper bots, multi-ATS form automation tools, and full-stack SaaS platforms. 175+ real-world projects shipped with 100% Upwork Job Success score.

Home
Projects
Hire Me
CV / Resume
Contact
GitHub
LinkedIn