A mesmerising animated terminal screensaver that draws colourful pipes growing across the screen using Unicode box-drawing characters.
Remember those old Windows screensavers with pipes growing across the screen? I rebuilt the concept for the terminal using Unicode box-drawing characters. Multiple pipes grow simultaneously, each with a random colour, random starting position, and a 20% chance of turning at each step.
Straight segments use vertical and horizontal line characters, turns use corner characters, and when pipes cross each other, an intersection character is drawn. Pipes have random lifespans of 30-100 segments. When screen coverage exceeds 65%, the oldest completed pipes are recycled to make room for new ones, so it runs indefinitely.
There are two colour palettes — classic with 6 bright ANSI colours, and a brighter 8-colour variant. You can configure animation speed, number of simultaneous pipes (1-6), and palette via CLI flags.
The architecture separates pure logic from terminal I/O: pipes-engine.js handles all state and movement decisions with no I/O dependencies, and pipes.js is a thin wrapper that reads the engine state and writes to the terminal. It uses the alternate screen buffer so your terminal content is preserved when you exit. Zero dependencies, just Node.js.