This game features 2 minor piece sacrifices and a very potent pawn storm. I currently have no analysis software and I am by no means a strong player. From anyone who's actually good at chess, did I win this game or did my opponent blunder it away somewhere that I didn't notice?
Up to move 18, your play was fine, while black wasted time (13..Nd8 14....Ndc6), ignored the growing storm on the king side, and did nothing to create any counterplay. So you got an overwhelming position.
I think your best move was 18.Ng5 threatening a deadly e6! push. And if 18...Nd8 (again!) 19.Qg4 looks just crushing. Your 18.Be6 has all the right motives, but doesn't quite work. You were a little over-anxious. Black could certainly have kept the game going with 20....Nd6. 20....Nf7?? was a bad mistake. You finished him off neatly after that
Thanks! I looked at playing 18.Ng5 but I wasn't sure how to respond to h6. Looking back I think hxg5 would have created more than enough threats to justify the lost knight, and like you said an eventual Qg4 would be devastating.