Field | Value | Copy |
---|---|---|
Status | {{ statusLabel }} | |
Reward | {{ reward_label || '—' }} | |
Preset | {{ presetLabel }} | |
Configured delay (s) | {{ totalDelaySec }} | |
Started at | {{ started_at_local || '—' }} | |
Unlock target | {{ finish_time_local || '—' }} | |
Elapsed (s) | {{ Math.floor(elapsedSec) }} | |
Remaining (s) | {{ Math.max(0, Math.ceil(remainingSec)) }} | |
Completed | {{ unlocked ? 'Yes' : 'No' }} | |
Gave in | {{ surrendered ? 'Yes' : 'No' }} | |
Pause count | {{ pauseCount }} | |
Paused total (s) | {{ Math.floor(pauseTotalSec) }} |
Delayed gratification is a deliberate wait before taking a reward, used to train attention and reduce impulsive switching. A delayed gratification timer for focus helps you hold a short commitment and see a clear payoff.
Choose a target duration and add a simple label for what you will unlock. Start the session and watch a countdown that shows the time left, or check the unlock time and step away. Presets support quick holds and longer deep work blocks.
In a typical session you might set five minutes and label it check messages. If you pause once for thirty seconds the countdown extends so you still complete a full five minutes of waiting. The midpoint and remaining seconds are easy to read during the run.
A soft beep or a brief vibration can signal halfway and finish when enabled. You can keep the screen awake during the run when your device allows it. Acknowledge the unlock to wrap up and reset.
Consistency matters. Pick durations you can repeat and keep labels short so the payoff stays obvious.
Time spent waiting is the quantity of interest and it is measured in seconds. The timer computes a target duration from minutes and seconds, tracks elapsed time excluding pauses, and reports remaining time with a progress percentage that rises from zero to one hundred.
Completion occurs when remaining time reaches zero and the state becomes unlocked. Optional signals include a sine tone and a short vibration, and both depend on device support and user settings.
Statuses describe each run: idle before starting, ready when configured, running during the countdown, paused when intentionally halted, unlocked on completion, and gave in if you stop early. Readings near second boundaries may differ by one second because the display rounds for legibility.
Start and finish timestamps use your device locale. Comparisons are most fair when you use the same device and similar conditions, because background throttling and screen sleep can change timing behavior slightly.
Symbol | Meaning | Unit/Datatype | Source |
---|---|---|---|
m | Configured minutes | integer | Input |
s | Configured seconds | integer | Input |
T | Target delay | seconds | Derived |
t | Wall‑clock since start | seconds (float) | Derived |
p | Cumulative paused time | seconds (float) | Derived |
E | Elapsed excluding pauses | seconds | Derived |
R | Remaining time | seconds | Derived |
P | Progress | percent | Derived |
Status | Description | Implication |
---|---|---|
Idle | Configured but not started | Start enables progress |
Ready | Primed to run | Waiting for resume |
Running | Countdown active | Progress increases with time |
Paused | Temporarily halted | Elapsed time does not advance |
Unlocked | Reached target | Reward is earned |
Gave in | Stopped early | Session ends without unlock |
Field | Type | Min | Max | Step/Pattern | Error Text | Placeholder/Default |
---|---|---|---|---|---|---|
Minutes | Number | 0 | — | step 1 | — | 5 |
Seconds | Number | 0 | — | step 1 | — | 0 |
Pre‑start seconds | Number | 0 | — | step 1 | — | 0 |
Audio volume | Range | 0 | 100 | step 1 | — | 0% |
Beep frequency | Number | 100 | — | step 1 | — | 880 Hz |
Halfway beep | Boolean | — | — | switch | — | off |
Vibrate on finish | Boolean | — | — | switch | — | off |
Prevent screen sleep | Boolean | — | — | switch | — | off |
Auto‑start on load | Boolean | — | — | switch | — | off |
Input | Accepted Families | Output | Encoding/Precision | Rounding |
---|---|---|---|---|
Duration | Minutes and seconds | Time displays | mm:ss and seconds | Display seconds are integers |
Signals | Volume percent, frequency | Audio beep | Sine tone, min 50 ms | Duration default 0.14 s |
Session data | — | Metrics CSV | Field,Value rows | Whole‑second fields |
Session data | — | JSON summary | inputs, runtime, summaries | Numeric seconds |
Updates use an animation tick with constant time per frame. Memory usage is small and bounded; the timeline draws a fixed set of points.
Given the same settings and device state, runs are deterministic. Device power saving or tab throttling can delay updates, especially when hidden.
Timing uses monotonic clock readings exposed by modern runtimes. Signals rely on standard platform capabilities such as the Web Audio API, the Vibration API, and screen wake lock policies documented by web standards bodies.
No data is transmitted or stored server‑side. Audio and haptic cues run locally on the device you use.
Gratification delay measures purposeful waiting and reports progress and unlock time.
Example: Five minutes, label “Check messages,” halfway beep on, volume 30%. Pause once for fifteen seconds; the timer compensates so the full wait is preserved.
No. Calculations and exports happen on your device, and nothing is sent to a server.
Exports save files locally on demand.Displays round to whole seconds for clarity. Background tabs and power saving can delay visual updates by small amounts.
Durations use minutes and seconds with non‑negative values. Volume ranges from 0 to 100 percent; frequency is 100 Hz or higher.
Yes. Metrics and the countdown run independently; charts appear when the visual layer is available.
Enable the keep awake switch. Support depends on your browser and device policy.
It indicates the full wait has completed, so you can take the reward you labeled for the session.
No payments are required in the code path. Use is provided as is; check the site’s terms if you need formal licensing details.