Engineering Focus

Precision Tools for
Cognitive Performance.

FocusTimer is not just a countdown clock. It is a local-first Progressive Web App (PWA) built with the Web Audio API and Canvas streaming to induce and maintain flow states.

01. Audio Engine

We don't use simple looped MP3s. Our audio engine is built directly on the Web Audio API, generating procedural soundscapes in real-time.

  • Pink & Brown Noise Generation Mathematically generated 1/f noise filters to mask distracting frequencies without causing auditory fatigue.
  • Binaural Beat Entrainment Dual oscillators generate a 40Hz Gamma difference tone, scientifically associated with high-level cognitive processing.
AudioContext Graph Latency: 0.03ms
Oscillator
Sine / 432Hz
Gain Node
RampToValue
Convolver
Reverb Impulse
Destination
Speakers

02. Canvas PiP

Standard browser Picture-in-Picture only works for video elements. We bypass this limitation by dynamically rendering the timer state to an HTML5 Canvas and capturing it as a video stream.

Why this matters

This allows the timer to float outside the browser window, hovering over your IDE, design tool, or reading material. It ensures the timer is always visible without occupying screen real estate.

25
canvas.getContext('2d')
video.srcObject
Stream (30fps)
Memory Efficient

03. Sequence Logic

Productivity isn't one-size-fits-all. Our Sequence Editor allows for Turing-complete workflow definitions. Create loops, nested patterns, and custom intervals.

  • HIIT for the Brain Configure Tabata-style intervals (e.g., 10m focus, 2m break, repeat 4x) to maintain high-intensity cognitive output.
  • Ultradian Alignment Supports long-cycle work (90m work / 20m rest) aligned with natural human biological rhythms (BRAC).
LOOP x4 // Standard Pomodoro Cycle
Focus Phase 25:00
Short Break 05:00
END // Long Recovery

04. Zero-Knowledge

We believe productivity tools shouldn't harvest your data. FocusTimer has no backend database for user data.

State Transfer via URL

When you share a sequence, we JSON-stringify the configuration, compress it, Base64 encode it, and append it to the URL. The data exists only in the link itself.

IndexedDB Persistence

Your history and templates are stored locally in your browser's IndexedDB. Clearing your browser data wipes the slate clean. We cannot see your data even if we wanted to.

Privacy by Design

No tracking cookies. No analytics on sequence contents. No account required.

https://focustimer.toolpark.info/?seq=eyJuYW1lIjoiRGVlcCBXb3JrIiwic3R...