Shakyyyy

Scans a video for a flash pattern, then punches in a decaying spiral shake on the real clip wherever it's found.

prototype — browser-only

1Load the pattern

Upload the pattern image and it's converted to matching data right here — drag to mark just the flash pattern, or leave it to use the whole frame.

Already have pattern JSON from before? Paste or upload it instead.

2Shake shape

Tune the spiral shake and preview it looping on a still image. Magnitude controls the orbit radius; Rotation is the number of laps around the orbit point.

Used by Pulse / Bounce and available to custom graphs.
How many times it laps around the orbit point.
How far out the orbit swings.
Adds a new slight random destination offset every 0.1s.
How the random scatter moves between destinations.
Controls how shake strength changes over time.
Advanced options (don't touch if you don't understand)

These expose the lower-level motion math. The defaults are designed to behave sensibly.

1 = 3×3 mirrored tiles, 2 = 5×5.
0.05s prevents duplicate detections while allowing every real pattern appearance.
Custom graph frequency, capped at 25 Hz.
Blend between fade and oscillation.
Rising-edge mode triggers when the match goes from below to above threshold.
Shows a live per-frame diagnostics readout under Scan and logs verbosely to the browser console.

3Detect the flash in video 1

Upload the compressed, pattern-visible timestamp video. It scans at the selected rate and re-triggers on each pattern appearance, with a short 0.05s default duplicate guard.

⚠️ Scanning can sometimes appear to freeze.
If it takes more than about 1 minute, refresh the page and try again. It may take longer on low-end devices.
No flashes detected yet.

4Preview and export on video 2

Upload the full-quality original — same timeline as video 1. Preview is lightweight; export renders a real 60 FPS MP4 at the video's aspect ratio (including square 1:1) instead of recording the browser canvas.