Hmm, if there is one key takeaway that I can give, then it must be remembering to always have iterative playtesting for precise platformer/puzzle-solving game like this piece. I have had similar problems in the past, where my platformer games are just almost unplayable for some people, because I underestimated how familiar the game is to the dev themself. "Is this level too easy or something?" was something I usually assume in the developing time, and I guess a lot of devs also fell into this rabbit hole, where we completely forgot that players don't read the codes :)) Next time, you should try to have a bunch of people, different people, to play the game, iteratively, as part of the development time (you might have less time to develop the game you have in your head, but this is 100% worth it).
That's my take on this, keep up the good work bud!