Black should be OK with 8...Nxe4 or 8...Bb4+ first
Black wins a pawn with 11...Qb4+ and 12...Qxb2.
12...f6 exposes the Black King. Better is 12...h6.
Instead of 16...Nd4, which favors White, perhaps 16...f5 to break on the kingside.
I don't like White's Bishop on b4, so perhaps 18...a5, then 19...d5.
19...h5 is the losing move. Perhaps 19...fxe4 20.hxg4 a5 21.Be1 d3 has some chances.
I was confident that I would be able to pull off a win here , but white managed to get me in the end. Pease comment on which moves you liked / didn't like , and where I made my biggest mistakes . Thanks :)