Back to Selected Work
Web Extension (Manifest V3)FastAPIFlutter MobileActive Build • Cross-Platform Sync

StreamScribe — Watch-History Sync Ecosystem

Automatic cross-platform video watch-history synchronization system: tracks media consumed on approved websites and categorizes history on mobile.

Domain
Web Development
My Role
Full-Stack Architect
Source Code
Primary Stack
TypeScript, Manifest V3 Extension
The Problem & Motivation

Why this was built

People watch educational and entertainment content across multiple fragmented streaming sites on desktop browsers, but have no unified history log or mobile companion to track and categorize what they've watched.

Architecture & Execution

Technical Approach

Architected a monorepo ecosystem featuring a TypeScript Chromium Manifest V3 browser extension that detects playback on approved domains, dispatches lightweight telemetry to a FastAPI backend, and renders a synchronized, categorized history feed in Flutter mobile.

Technologies Used:
TypeScriptManifest V3 ExtensionFastAPIPythonFlutter MobileDocker
Manifest V3 Content Script Media Listener
Source Snapshot
// StreamScribe Extension: Detects video playback on approved streaming domains
function initializeMediaObserver() {
  const videoElements = document.querySelectorAll('video');
  videoElements.forEach((video) => {
    video.addEventListener('timeupdate', () => {
      if (video.currentTime > 30 && !video.dataset.logged) {
        video.dataset.logged = 'true';
        chrome.runtime.sendMessage({
          type: 'SYNC_WATCH_EVENT',
          payload: {
            title: document.title,
            sourceUrl: window.location.href,
            duration: video.duration,
            timestamp: new Date().toISOString(),
          },
        });
      }
    });
  });
}

Key Architectural Features & Outcomes

01

Chromium Manifest V3 browser extension built with TypeScript

02

Selective domain monitoring: only tracks media on user-approved platforms

03

Asynchronous telemetry dispatch to a high-speed FastAPI cloud service

04

Companion Flutter mobile app categorizing watch history across devices

05

Monorepo architecture with shared data contracts