The sacrifice felt extremely weird positional-wise. What you get after the dust has settled is an open h-file and huge weakness on white's kingside, but white hasn't even castled at the point of your attack and simply castles queenside to evade.
I feel like in situations where your opponent hasn't committed to castling to either side yet any form of sacrifice to attack pawn structures is a waste of quality.
I also thought it was very brave to castle queenside in that kind of structure, but that's probably a matter of preference and less of a mistake.
6...b6 is questionable: 6...c5 or 6...e5 attacking central square d4 make more sense. 8...c6 and 9...e6 seem passive: ...c5 and/or ...e5 make more sense 11...c5 after 8...c6 cannot be right, 11...O-O was better You played the opening too fast. I like the bold sacrifice 15...Nexg4. There are some more mistakes by both sides after that but you got a deserved win.