2027
2026
A clock that turns written time into a material. The sentence is drawn to a canvas and passed to a fragment shader as height data. Separate normals for the lettering and procedural sand make the words read as shallow water, complete with refraction, highlights, and moving caustics.
A character level model written without a machine learning library and trained in a Web Worker. Dragging a node measures its displacement and uses that value to disturb the actual weights. The generated poem breaks down, the displayed loss rises, and training has to recover in real time.
2025
A PyTorch embedding trained to become handwriting. Every row contains one pair of coordinates, and SGD moves those points towards pixels sampled from a rasterised word. A WebSocket streams the result into a spring mesh, while pointer movement writes displaced coordinates back into the model during training.
A stopwatch mapped directly onto a scrolling landscape. Elapsed time determines the boulder's position, while its rotation comes from the distance travelled across the terrain rather than frame rate. The landscape is deterministic, so its contours and texture remain fixed as the camera follows the climb.
2024
A PGN renderer that turns a chess game into a layered poster. It keeps the moves that carry the game and thins routine pawn traffic before drawing each remaining move as a cubic Bézier arc. Colour separates the players, opacity preserves chronology, and the finished composition exports as PNG or GIF.
A tap accuracy metronome driven by the Web Audio clock. Beats are scheduled ahead from a fixed start time, avoiding the drift of repeated browser timers. The pendulum uses that same clock, so every tap can be placed on the arc according to its timing error rather than the frame that happened to be visible.