7.Qxb4 would have been better, it's a free piece after all.
I'm not sure about 9.e5, it allows Nd5. I would simply castle long here.
10.Qg4 would be better instead of Bc4, it forces g6 and ensures long term dark square weaknesses.
Nice play from move 19, well done!
Here is a game I played against a guy rated 963 in my chess club tournement. Any comments are appreciated.
I hope you enjoyed the game.