Writing some tests and implementing board boundary collision.
Introducing multiple processes into the game, and running the render loop separately from the game logic.
Taking advantage of Phoenix's native websockets support to build an in-browser bash terminal proxy.
Test-driven implementation of clearing full lines off of the board.
Making pieces fall and drawing the game board.