Udemy Course Progress Export
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
Udemy Course Progress Export scans your Udemy course pages and extracts detailed progress data, including completion status for each lecture, section progress percentages, and overall course completion. A panel overlay shows a comprehensive progress breakdown by section, with visual progress bars and completed vs total lecture counts. The tool calculates your overall course completion percentage, total time spent, and estimated time remaining to finish the course. You can export the progress report as plain text or CSV format for tracking, planning, or sharing with study groups. This helps you monitor your learning progress, identify which sections need more attention, and estimate how much time you need to complete the course.
WHERE IT RUNS
This script runs on Udemy course pages (*.udemy.com/*). It operates entirely within your browser tab, reading the page's DOM to locate section panels, lecture items, and completion indicators. The script cannot access other tabs, your browsing history, bookmarks, downloads, or any data outside the current page. All settings—including export format, section breakdown visibility, lecture details visibility, timestamp inclusion, and auto-detect preference—are stored locally using GM_setValue and never transmitted anywhere.
HOW TO USE
After installing with the BotGentz extension, the script automatically detects Udemy course pages and displays the progress report (if auto-detect is enabled). The panel shows overall progress with a circular percentage indicator, a summary of lectures and sections, and a detailed breakdown by section with progress bars. Click "Load Progress" to manually refresh the data. Toggle section breakdown on or off, show or hide lecture details, and choose whether to include timestamps in the export. Select your export format (text or CSV) and click "Copy Progress Report" to copy the data to your clipboard. The report includes section names, lecture names, completion status, and durations.
THE REAL MECHANISM
The script detects Udemy course sections using selectors like .section-panel, .curriculum-section, .section-item, and .accordion-section. For each section, it extracts the section name from .section-title or .section-name, and finds lectures using .lecture-item, .curriculum-item, or .lecture-link selectors. Each lecture's name is extracted from .lecture-name or .item-title, completion status from .completed, .status-complete, or by scanning for checkmark indicators, and duration from .duration, .lecture-duration, or .time elements. The overall progress is calculated as the ratio of completed lectures to total lectures. Estimated time remaining is calculated using the average duration of completed lectures multiplied by the number of remaining lectures. The progress report is rendered with a circular progress indicator, stats grid, and expandable section breakdown with progress bars. The export function formats the data as plain text or CSV using GM_setClipboard. All DOM manipulation uses safe methods with no innerHTML from untrusted content.
THE PANEL
The Course Progress panel is a BGPanel component that you can drag anywhere on your screen by its header. It snaps to the nearest edge when released, keeping your workspace organized. The panel collapses to a small bubble showing only the emoji icon when minimised—click to expand it again. You can resize the panel horizontally to see more of the section breakdown. Press the Escape key to collapse the panel instantly. Your panel position and size are saved per-site.
PLEASE NOTE
This script requires the free BotGentz browser extension to function. Udemy frequently updates its UI, which may change class names, data-testid attributes, and DOM structure—the script may require updates to maintain compatibility. The progress extraction relies on the course curriculum being visible on the page; if the curriculum is collapsed or not loaded, the script may not detect all sections. The estimated time remaining is based on the average duration of completed lectures and may not be accurate for courses with varying lecture lengths. The script never reads or writes password fields, hidden inputs, or file inputs. It stores only your export format, section breakdown visibility, lecture details visibility, timestamp inclusion, and auto-detect preference locally. No course data, progress information, or personal information is ever collected, transmitted, or shared.