https://lisac.co.uk/pattern-play/
Pattern play.