generative html backgrounds. no build step, no dependencies. download any file and open it in a browser.
imessage-style pill bubbles in rows across a 1920×1080 canvas. every other row flips so the tails face opposite directions. fill, outline, or liquid glass. animated and exportable.
n-fold standing wave interference patterns rendered with bayer ordered dithering. low frequency shows clear geometry. crank it up and it becomes film grain.
shimmering light patterns, like what you see on the floor of a pool. ported from a 146-character glsl shader to a self-contained webgl2 page.
double domain-warped fbm turbulence with surface normals for glass specular highlights and iridescent edge shimmer. three modes: flame (red/orange), glass (aqua/blue), crystal (violet/rose). warp, speed, and glass intensity controls.
upload any image and watch particles trace its shape. brightness drives a flow field that pulls particles into the light areas. three color pickers, adjustable count, speed, and trail fade. invert toggle for dark-on-white images.
quarter-circle arc tiles that flip between two configs driven by animated fbm noise. large organic blobs of each config drift slowly across the grid. tube highlights and a soft glow make the lines feel lit from within.
animated voronoi noise with rainbow cell coloring. n seeds wander the canvas with toroidal wrapping so nothing ever escapes off-screen. border sharpness, saturation, and hue shift are all adjustable.
raymarched gyroid isosurface with an orbiting camera. the gyroid is a triply periodic minimal surface that looks like someone folded space into itself. phong lighting with key, fill, and rim lights. scale and shell thickness controls.
colored ribbon waves flowing across the screen. webgl2 fragment shader with lambertian lighting, specular ridge highlights, and iridescent hue shift. light and dark mode.
animated lissajous curves — x = sin(a·t + δ), y = sin(b·t) — morphing as the phase δ drifts over time. three-pass neon glow on a dark canvas using screen blending. change the frequency ratio and watch the figure snap to a new knot.