Build a generative art piece that creates a unique pattern every time it runs.
Generative art is where most coders first discover that programming can be expressive. The setup is simple: a canvas, a seeded random number, and a few rules. The output is endlessly varied. That gap between simple rules and complex output is the entire appeal of the form.
Start with one rule and add the second only when the first feels exhausted. A single rule like "draw a circle at a random position with a random size" can produce a remarkable range of outputs once you tune the distribution. Resist over-engineering. The strongest generative pieces tend to have fewer parameters than their authors initially want them to have.