Standing Desk Reminder Timer
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
Standing Desk Reminder Timer places a persistent floating timer on your screen that helps you alternate between sitting and standing positions throughout the day. The timer displays a countdown with visual color coding: blue for sitting intervals and green for standing intervals. A progress bar shows how much time remains in the current interval, making it easy to see at a glance when you need to switch. When the interval ends, the timer changes to an amber "Switch!" state with a pulsing effect, accompanied by a desktop notification and optional sound alert. The timer also tracks your total standing time each day and displays a simple summary badge, helping you monitor your progress toward healthier work habits. Manual controls allow you to pause, reset, or switch positions on demand.
WHERE IT RUNS
This script operates as a userscript within the BotGentz extension on every webpage you visit across all websites and domains. 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 timer floats above webpage content, remaining visible and accessible regardless of which site you are browsing.
HOW TO USE
After installation, the timer appears in the bottom-right corner of your screen with a countdown showing your current sitting interval. Use the "⏸" button to pause the timer, the "↺" button to reset to the beginning of the current interval, and the "⟳ Switch" button to manually toggle between sitting and standing modes. The timer automatically alternates between sitting and standing intervals based on your configured durations. When an interval ends, the timer pulses, displays "Switch!", and sends a notification. Open the panel to customize your sitting and standing interval durations, choose your reminder style (notification only, sound only, or both), toggle the daily stats badge, and change the timer position. Drag the timer anywhere on your screen by clicking and holding it.
THE MECHANISM THAT MAKES IT WORK
Unlike simple countdown timers that lose state on page refresh, this script persists the timer state using GM_setValue, allowing the timer to survive page navigations and browser restarts. The timer uses a delta-time tracking system that updates at 100ms intervals using setInterval, accumulating elapsed time based on the actual time difference between ticks rather than assuming a fixed interval. This ensures accurate timing even when the browser tab is backgrounded or the system is under load. The progress bar is calculated as the ratio of elapsed time to total interval duration, with smooth transitions using CSS transitions. Standing time tracking accumulates standing interval durations, storing the running total per day with automatic reset at midnight based on the system clock. The notification system uses GM_notification with a two-tier approach: the timer state handles visual changes, while notifications provide fallback alerts when the browser tab is not in focus.
THE PANEL
The script panel is built using BotGentz's BGPanel framework and provides comprehensive control over the timer's behavior. The panel opens as a floating overlay that can be dragged anywhere on your screen, with a clean dark theme matching the timer's aesthetic. It includes dropdown menus for sitting interval (10-60 minutes) and standing interval (2-15 minutes), a dropdown for reminder style selection, and toggle switches for enabling the timer, showing daily stats, and auto-starting the timer on page load. A dropdown menu lets you set the timer's default position to top-left, top-right, bottom-left, or bottom-right. Action buttons allow you to save settings, reset the current timer, reset today's standing statistics, 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. All data is stored locally using GM_setValue and is not shared with any third-party services. The timer automatically resets at midnight based on your system clock for daily standing statistics. If you close your browser, the timer state is saved and restored when you return. Sound notifications require your browser to support the Web Audio API, which is available in all modern browsers. If you find the timer distracting, you can click the "✕" button to dismiss it for one hour, or disable it entirely via the panel toggle. The timer is designed as a gentle reminder and does not replace professional ergonomic advice.