Meditation App Web Session Length Memory
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
This script scans meditation app web dashboards and session pages for session length data—duration, type, instructor, and date—and displays a floating panel showing a history of session lengths with average, longest, and recent session stats. It extracts session duration from the page, calculates average session time, identifies the longest session, and shows a trend of session lengths over time. The panel displays a summary of total meditation time, average session length, and number of sessions. A bar chart shows session lengths with the longest session highlighted in green and the most recent session in blue. A one-click export function saves session data as CSV or JSON. All session snapshots are stored per domain locally for tracking progress over time.
WHERE IT RUNS
Works on any meditation app web dashboard—Headspace, Calm, Insight Timer, or any page displaying session durations, types, and dates. The script detects session entries using time patterns and common meditation app selectors, making it compatible with most meditation app dashboards.
HOW TO USE
The panel appears automatically when you visit your meditation dashboard. It detects session durations and displays summary stats: total sessions, total meditation time, average session length, and longest session. The bar chart shows session lengths over time, with the longest session highlighted in green and the most recent in blue. The session list shows recent sessions with dates, types, and durations—the longest session is marked with a trophy icon. Click "Refresh Data" to rescan for updated session data. Export session history as CSV for spreadsheet analysis or as JSON for programmatic use. Use "Clear History" to reset stored snapshots for the current domain. The panel automatically saves a snapshot each time you visit, building a history of your meditation session lengths.
TECHNICAL MECHANISM: SESSION DATA EXTRACTION WITH DURATION PARSING AND PERFORMANCE VISUALIZATION
The script uses a multi-pass detection strategy to find session data. It searches for session containers using selectors (.session, .meditation, .entry, .activity) and falls back to scanning text blocks with time patterns (HH:MM or MM:SS) or duration keywords (min, m, s). For each session, it extracts duration using a robust parser that supports HH:MM:SS, MM:SS, plain minutes with "min" suffix, and seconds with "s" suffix. Session type is determined by checking for keywords like "guided," "unguided," "sleep," "breath," "focus," or by extracting from "Type: [Type]" patterns. Instructor is extracted from "Instructor: [Name]" patterns. Dates are extracted from date patterns. The summary calculates total sessions, total duration, average duration, and maximum duration. The bar chart displays the last 20 sessions with bar height proportional to duration, with color-coding: green for the longest session, blue for the most recent session, gray for others. Each session snapshot stores all session data with timestamps, capped at 30 entries per domain. The history view shows recent snapshots with session counts and average durations.
THE PANEL
The session length memory appears in a draggable, resizable panel that remembers its position per site. The panel shows summary stats, a bar chart of session lengths, a legend, and a list of recent sessions. Drag by the header to reposition, collapse to a compact icon with a click, and resize using the bottom-right corner. The panel snaps to screen edges for tidy placement and closes with the Escape key. All settings—panel position—persist per website using GM_setValue, so your view returns exactly as you left it.
PLEASE NOTE
This script requires the free BotGentz extension to run. The script relies on meditation app dashboard layouts—if an app updates its design, session detection may need updating. The script does not access your meditation app account credentials—all data is read from the visible page and tracked locally. The duration parser supports multiple formats but may not capture all variations used by different apps. The session type detection uses keyword matching; uncommon types may be classified as "Meditation." All data is stored locally in your browser via GM_setValue and never transmitted. The script is designed for tracking session lengths, not for modifying or uploading data to meditation apps.