I shut down this project more than a year ago, but this idea is still bothering me. After some thought and a couple of tests I decided to use Snake instead of Tetris as the base game. It seems to work relatively well, not worse than Tetris. Here is a little demo-version:
Short story long:
The main reason I shut down the project was that I didn't have the programming skills to finish it in reasonable time. There was also a small legal risk of being ceased and desisted by The Tetris Company, which I didn't want to deal with. Besides that, I found that patterns are not the best way to describe a program that plays Tetris. If you take whatever tetromino you get and put it in the deepest cavity it can fit into, that alone goes a long way. This simple idea will give you a program that completes around 70 rows on average. A good pattern-based program can do more than that, but it will be much more complicated. In fact, getting to 70 rows with a pattern-based program is already a lot of work. This doesn't mean that there cannot be a good visual language for expressing a Tetris program, but it will probably involve more than just patterns.
I didn't want to use Snake at first, because I took the idea of using patterns from this old game:
It was made in the nineties, and it lets the player program a snake with patterns. I thought that I have to contribute something novel and use this idea with a different game. It turns out that there is enough space for innovation even if you constrain yourself to the Snake game. The patterns can be done differently, the metrics can be expanded, and the whole game can be set up as optimization instead of competition.
Edit (2019, May 20):
I'm evicting old screenshots from the front page, so here is how the game looked when this post was written.