Here's what I think were your most obvious mistakes:
5.a3? looks like just a waste of time. He'd never in a million years want to bring his Knight to b4.
15.Rf3 looks OK, but Nd2 seems more sensible. Not trying to attack with just a few pieces. Rg3 & Qxh6 is a pretty meaningless threat.
25.h4 is a nice idea. I'm curious as to if you saw 25...h5? Of course 25.Re1?? fails to 25...h5 followed by Bf2 after both Rg3 & Rh4, so well done for not playing that.
I didn't look any further.
I won, but tell me maybe where I could have gone better.