Thanks for the feedback, glad you had fun! Yeah, I definitely could have done to do a couple more rounds of playtesting, especially on the later sections (by that point I was exhausted). I tried to compensate by placing checkpoints pretty frequently (I've been playing through Celeste recently and I guess I was going for that kind of "die until you succeed" approach).
For the second point, that's more likely a result of the code not being as robust as it could've been, I'm not especially experienced as a programmer yet and that's definitely something I need to work on.
When that happened to me in playtesting, I found that moving diagonally forwards or backwards would move you about half as far as a sideways move and could just give you the time to make the jump. Also, making your first jump diagonally backwards instead of straight up gives you an extra tick in the air which can offset the timing.