StreamScribe — Watch-History Sync Ecosystem
Automatic cross-platform video watch-history synchronization system: tracks media consumed on approved websites and categorizes history on mobile.
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.
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.
// 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
Chromium Manifest V3 browser extension built with TypeScript
Selective domain monitoring: only tracks media on user-approved platforms
Asynchronous telemetry dispatch to a high-speed FastAPI cloud service
Companion Flutter mobile app categorizing watch history across devices
Monorepo architecture with shared data contracts