You played an active game, but in the end you were lucky not to lose the game. Here are a few moves where you could have done better:
8. Bxh7+ (instead of Bg5) wins immediately at least a piece because if Kxh7 then 9.Ng5 Kg6 (Kh8 loses after Qxh5) 10.g4 etc...
10. Qxh5 (instead of the retreat Bd2) because of hxg5?? 11.Qh7#
15. better than Nf4 was f4 because after Nf4, black could neutralize the attack with Qg5 (instead of Qc5) and be only a pawn behind
16. the attack with Ng6 was premature and should probably have lost you the game. Black missed your simple checkmate threat after your 23.Bd8 but could have had a much better position with 23. ... Bd7 or c6
It's mostly tactics where you went wrong, and so did your opponent, luckily for you.
I do like the sequence from move 22 and this will
feature on a blog near you sometime soon.
Good post. All the ideas are there you just need to take your time.
As a non-sub there is no excuse for having too many games.
When you feel there are tricks and tactics on take
the screen postion to a board and move the pieces about.
New ideas appear, old ones are shelved. (but never forgotten).
16. fxg was a mistake in my book. You should've captured the pawn with the knight, which would've given you a much stronger position, as well as not being down a knight unnecessarily. I see why you didn't, but this was a HUGE gamble (assuming you intentionally didn't capture his pawn with your knight). Had black taken your bishop with his knight at move 22, you would've been in a world of trouble.
Apart from that, you seem to be somewhat of a risk-taker. That can be a double-edged sword, but it worked for you in the final moves of the game. I like how Black had a false sense of security in taking your pieces (at the end), only to find out this was his downfall. Kudos there.