Greetings
Welcome to the forum
Sorry for the dumb question but what is the point of Bd7? To exchange it off with with a later Qb6 Bb5? To free the c file for the black rook? To avoid any possible discoveries with Bb5+ so that black could win the d pawn? A flexible waiting move? I just don't get this one, why is it so important?
6. ...a5 looks a little bit contraversial to me. I am not saying it's bad but I looked this up on the database and it's not that often played, thus there might be something wrong with it
I somewhat didn't like the trade
7. ...cxd I think it's a little bit to early. Now white no longer has to worry about captures, besides now the c3 square is free for the knight which could prove useful as you have played a5 and weakened the b5 square, thus the knight could hop in there one day. I think keeping the tension and
staying flexible would have been better
I am not sure about
9.Bg5?! neither! I think it's a bad move. And after
10.Qd2? Nf5 I don't really like the french as black but in this position I do like black!

Nice queen trap by the way
11. ...Nxe3?! You seem to release the tension prematurely. THERE IS NO REASON TO TAKE HIS BISHOP NOW you can take it whenever you want! That's very important, you can cause lots of headaches for your opponent this way as he constanlty has to worry about the capture and you remain FLEXIBLE in your choices. I like
11. ...a4! fixing the weakness on b2 and creating superb outpost for your c6 knight. Na5-b3 would be devastating!

In fact I don't see how can white stop that

You seemed to miss this idea completely in the game.
15.h3?? 
It happens...
I think white's only hope to stay in the game was to capture on e5 with a pawn, looks ugly but in the game white violated the basic principle of trading down when down in material and simply got a lost position
Try to stay as flexible as possible with your choices
