Under the hood it finds onsets via spectral flux, pre-renders slices to AudioBuffers with tiny fades, and schedules on the WebAudio clock so UI jank doesn’t mess up timing. If your codec won’t decode to buffers (Safari quirks), it falls back to a pre-warmed media pool so you still get sound. Everything runs locally in the browser; nothing is uploaded.