Really cute and creative, but if there's one thing I think would relieve a lot of the sometimes frustrating trial and error bits could be more clear indicators of which blocks are counterparts to one another, perhaps just marking them with the same symbol or adjusting their colours in-engine the same way, perhaps both.
Possibly having a view into the other room while pushing the blocks would help too, I know that there are surprisingly simple ways to do that in most of the major engines.