Very interesting game.
His mistake I think clearly 12.h4, this move undemines his king saftey. He is about to get his king exposed and in human games this is rather risky.
12. b5 would have gave back a single pawn well securing some trade down to his advantage reducing your attack and starting his own serious pawn attack.
He played to passively. He needed to counter attack. A caged animal either fights or take flight. In your case you just kicked butt.
A good win for me, just looking at where he really blundered?