Series Progress Tracker is a lightweight Chrome extension that remembers exactly which episode and timestamp you left off on any streaming site—handy when you bounce between different “gratis” streaming portals that rarely remember you. The extension quietly watches for the active <video> element, keeps your position up to date, and lets you reopen saved shows from a quick-access list directly in the popup.
- Auto progress tracking – detects the best candidate video on any tab and saves the minute / second mark in the background (every 30 seconds by default).
- Manual episode control – quickly type the episode you are currently on and save it with one click or by pressing
Enter. - Saved series hub – open the bottom sheet to view every show stored in
chrome.storage, re-open it in a new tab, or delete the entry. - Connection-aware popup – surfaces live status such as “No video detected” or “Auto-save active” so you immediately know whether tracking is running.
- Localization-ready UI – strings ship in English, Indonesian, and Simplified Chinese through the
_localesdirectory. - Privacy-first – no analytics, network calls, or third-party backends; everything stays in your own browser profile.
- Clone or download this repository.
- Open
chrome://extensions(oredge://extensions). - Enable Developer mode in the top-right corner.
- Click Load unpacked and select the project directory (
series-tracker/). - Pin “Series Progress Tracker” to your toolbar for easy access.
- Visit any streaming page that serves video via
<video>tags. - Start playing an episode—tracking begins automatically once a playable video is detected.
- Open the extension popup to see:
- Page title, hostname, current minute counter, and tracking status indicator.
- Auto-save toggle to pause/resume periodic saves.
- Manual
Episodeinput so you can bump progress even when the video is paused. - Save Episode button for quick manual checkpoints.
- View All Series panel with search-like list of every tracked hostname, each showing
Ep N • M min.
- Click the ↗ button beside any saved item to re-open that show in a new tab, or the × button to delete the stored progress.
.
├── content/ # Content scripts that detect videos and track playback
├── popup/ # Popup UI (modular JS, DOM helpers, localization)
├── popup.html/css/js # Popup entry point wired in manifest
├── icons/ # Browser action icons
├── _locales/ # en, id, zh_CN translations
└── manifest.json # Chrome extension manifest (MV3)
Notable runtime pieces:
content/state.js,helpers.js,storage.js,tracker.jshandle detection, periodic saving, and messaging back to the popup.popup/*.jsmanages UI state, data formatting, panel rendering, and chrome storage access.
- Storage: Uses
chrome.storage.local, keyed by hostname or URL, so progress never leaves your machine. - Permissions:
storage,activeTab,scripting, and<all_urls>host permissions to inject the tracker into arbitrary streaming sites. - No analytics, servers, or external requests are involved; feel free to inspect the code or fork it for your own workflows.
All user-facing strings live in _locales/{lang}/messages.json. To add a new language:
- Duplicate an existing locale folder.
- Update the translated
messagevalues. - Set
default_localeinmanifest.jsonif you want a different fallback.
Issues and pull requests are welcome! Interesting areas to explore:
- Improving heuristics that detect “the main” video when multiple players exist.
- Adding a compact history panel that groups by show title instead of hostname.
- Surfacing sync/export options for people who hop between browsers.
Made for fellow streaming enthusiasts who keep too many tabs open and still want to remember where they left off.