This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Long-Form Article Bookmark-Position Saver

Productivity · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryProductivity
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

This script helps you navigate long-form articles by saving your reading position with bookmarks. A floating button lets you save the current scroll percentage with an optional note and timestamp. You can add multiple bookmarks per article—marking key sections, interesting passages, or where you paused reading. A clickable list of all bookmarks appears in the panel, and clicking any bookmark scrolls you smoothly to that position. A progress bar at the top or bottom of the page shows your overall reading progress. The script also supports auto-saving your position and restoring it when you return to the article.

WHERE IT RUNS

The script works on any long-form article page across the web—blog posts, news articles, documentation, guides, research papers, and tutorials. It detects article containers automatically using common selectors (article, .post, .entry, .content) and falls back to the page body if needed. The script runs on any website with scrollable content.

HOW TO USE

After installation, a floating 📑 button appears in the bottom-right corner of any article page. Click it to save a bookmark at your current scroll position—you'll be prompted to add an optional note. Right-click the button to open the settings panel. The panel displays all your bookmarks for the current article; click any bookmark to jump to that position. Use the panel to add bookmarks, jump to bookmarks, clear all bookmarks, or export bookmarks to JSON. Configure auto-save, progress bar visibility, timestamp display, and other settings from the panel. All bookmarks are stored per article URL and persist across browser sessions.

TECHNICAL MECHANISM

The script uses a multi-stage article detection and position tracking pipeline. First, it identifies the article container using a prioritized selector strategy targeting common article elements (article, .article, .post, .entry, .content) with fallback to the document body. Second, it calculates scroll percentage by measuring the container's scrollTop relative to its scrollHeight and clientHeight. Third, it stores bookmarks as JSON objects containing percent (0-100), note, timestamp, title, and creation time. Bookmarks are keyed by the article URL using GM_setValue with a namespaced key (lfb_bookmarks_URL). The script tracks the current URL and loads only bookmarks for that page. For auto-save, it monitors scroll events with a debounce and saves positions that differ by more than the configured threshold. The progress bar is updated on every scroll event using requestAnimationFrame for smooth rendering.

THE PANEL

The settings panel is fully draggable and can be positioned anywhere on your screen. It automatically snaps to the nearest edge when released, keeping your workspace organized. The panel can be collapsed to a small bubble showing only a gear icon, and restored with a single click. Its position is remembered across page reloads using GM_setValue. The panel also responds to the Escape key, which instantly hides it until you click the bubble again. All settings are saved immediately when changed and persist across browser sessions.

PLEASE NOTE

This script requires the free BotGentz extension to run. Bookmark positions are stored per-article URL and are not synchronized across devices. Article structures vary across websites and may change over time, which could affect container detection. The script does not access, store, or transmit any personal data or browsing history. All bookmark data is stored locally in your browser's userscript storage and never leaves your device.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.