PDF Textbook Reading Progress Tracker
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
PDF Textbook Reading Progress Tracker places a persistent floating tracker on your screen that monitors your progress through PDF textbooks displayed in the browser. As you scroll through the document, the tracker displays a progress ring showing the percentage of the total document height you have viewed. The tracker estimates the number of pages read based on the document length, providing a meaningful page count estimate even for PDFs that do not expose native page numbers. The tracker also calculates estimated time remaining based on your configured reading speed, helping you plan your study sessions effectively. A manual page jump input allows you to navigate directly to specific sections of the document, making it easy to resume reading where you left off. The tracker automatically saves your maximum scroll position for the current page, so you never lose your place.
WHERE IT RUNS
This script operates as a userscript within the BotGentz extension on any webpage that displays PDF content, including built-in PDF viewers, embedded iframes, and third-party PDF viewers. It functions on any modern browser that supports the BotGentz extension, including Chrome, Firefox, Edge, Safari, and Opera. The script runs entirely client-side, storing all data locally using GM_setValue without sending any information to external servers. The tracker floats above webpage content, remaining visible and accessible regardless of which PDF page you are viewing.
HOW TO USE
After installation, the tracker appears in the bottom-right corner of your screen with a progress ring showing your current reading progress. The tracker automatically updates as you scroll through the document. Hover over the tracker to see detailed information including page count estimate and time remaining. Use the page jump input to enter a page number and instantly scroll to that section of the document. Click the "↺" button to reset your progress for the current page if you need to start over. Open the panel to customize your reading speed, toggle time estimates, switch to compact mode, change the tracker position, or configure whether progress resets on page reload.
THE MECHANISM THAT MAKES IT WORK
Unlike simple scroll position trackers that only show raw percentage, this script estimates textbook page counts using a heuristic based on document height and viewport height. The script calculates the total scrollable height and divides it by an estimated page height factor derived from typical PDF page proportions. The progress ring uses an SVG circle with stroke-dasharray and stroke-dashoffset properties, providing smooth visual feedback with a 0.4-second transition. The maximum scroll position is persisted per URL using GM_setValue, allowing the tracker to remember your furthest point even after page refreshes. The time-remaining calculation converts the remaining document percentage into estimated reading minutes based on the user's configured pages-per-minute rate, assuming approximately 200 textbook pages worth of content. The page jump feature calculates the target scroll position by mapping the entered page number to a percentage of the total document height.
THE PANEL
The script panel is built using BotGentz's BGPanel framework and provides comprehensive control over the tracker's behavior. The panel opens as a floating overlay that can be dragged anywhere on your screen, with a clean dark theme matching the tracker's aesthetic. It includes a dropdown menu for reading speed settings, an input field for total pages, and toggle switches for enabling the tracker, compact mode, showing time estimates, and resetting progress on page reload. A dropdown menu lets you set the tracker's default position to top-left, top-right, bottom-left, or bottom-right. Action buttons allow you to save settings, reset progress for the current page, or reset all settings to defaults. The panel collapses to a small icon when not in use and expands when clicked, remaining accessible but unobtrusive. Press the Escape key at any time to close the panel.
PLEASE NOTE
This script requires the free BotGentz extension to be installed and activated in your browser. The extension is available from the official BotGentz website. The script estimates textbook pages based on document height and may not be accurate for all PDF layouts. For best results, set your approximate total pages in the panel settings. All data is stored locally using GM_setValue and is not shared with any third-party services. The tracker saves your maximum scroll position per URL, so your progress is preserved even after closing your browser. If you are using a PDF viewer that dynamically loads content, the tracker may not detect all content. You can use the page jump input to navigate manually when needed.