I don't think i can pinpoint exactly where you went wrong, but maybe someone better can?
I agree with your comments about certain moves being better. Bb7 doesn't look so hot since it's not doing much there unless you plan to trade it for a pawn. You ended up wasting a couple moves later in the game just trying to get it on a better square. There was a wasted move when you played 15. ... Bf6 then 16. ... Bg5 which was where you should've moved in the first place. 18. ... h5 weakened your defense around the king. 19. ... a5 doesn't seem necessary and as you said, it weakens your b pawn.
This whole game I just felt like I had no chance... I'm playing as black. Can anyone show me how I got myself into such a dismal position?