Nice visuals and I loved the sound effects.
Here's a game design tip though that I wish more people would follow. Be cautious about using a 'block of text' approach to tutorials. I reloaded the page three times. First time, I saw a play button and was too impatient to read. Next time I skim read and saw the need for arrows and wasd. Then the final time I read the need for the shifts. Whilst the argument will be made that I should have just taken 30 seconds to read, my default assumption is the standard controls. When you want to give me some more advanced controls, you're going to need to make SURE that I know them, or at least have the ability to look back at them. As a flawed and impatient human being I just want to trooper on to the game, and ignore the menu text. I see the 'reach goal' text and ignore the sidelined stuff in my peripherals. A better approach would be to introduce the controls in steps, have the first level tell you the movement, then introduce the shift controls. The best part about this is that by completing the level, I prove that I know how to use the controls. If I can't use the controls I have time to learn, and the instructions are still visible until I prove that I can use them.
Ultimately, this is a big rant that boils down to myself being lazy. Honestly, your menu graphic is nice, but for the reasons already mentioned, I skipped over it. You did a good job introducing the spike (even though I thought it would kill me and not just act like a wall). It was nice that this mechanic was introduced with a tutorial level, where one character opened the gate for the other. The game itself was quite fun, although it did eventually become a pain spamming shift. Could have had more levels, and maybe some more puzzle? Otherwise, awesome.