Skip to content
New

Color, earned.

Particle is monochrome on purpose. Color is not a default — it is something the work earns. Breaks are where it arrives.

Afterglow is the door between work mode and rest. It opens only when work is actually running, so the reward stays attached to its cause. Two curated shaders ship today: Tunnelwisp, a gyroid-cave transit, and Star Nest, a volumetric starfield that breathes with your gaze — your mouse bends the field, dampened, never yanked. When the break begins, the timer cross-fades to zero across 2.8 seconds while the shader blooms in over four. One statement-moment per session, cinema-paced.

The bloom is pause-aware. Stop a session, the shader fades. Resume, it fades back. The reward sits inside the work loop, not above it.

We wrote about the philosophy in a long-form Design essay — Why we painted the pause — woven into five existing /thinking pieces.

What changed

  • Two curated shaders — Tunnelwisp (CC0) and Star Nest (MIT), original colors preserved
  • Mouse-driven Star Nest — damped lerp + 0.7 sensitivity so the field breathes, never lurches
  • Per-preset light/dark tone — UI colors adapt to the shader without veiling its palette
  • Reveal-on-input — timer fades back in for 2.5s when you move or type, then dissolves again
  • Hover-pin — pin the digits or status with the cursor; read without auto-fade
  • Onboarding whisper — "Color earned." on your first Afterglow break, one-shot
  • Settings + cloud-sync — per-preset Eye/EyeOff toggle, synced via afterglowDisabledPresets
  • Pause-aware — shader fades out when the timer stops, fades back in when you resume
  • New essay/thinking/why-we-painted-the-pause