Instead of castling in your 17th move, why on earth didn't you take his pinned knight, which also would have put his queen at stake?
Interesting game. Lots of pins.
Another option is 23... Nd3+ 24. Kd1 Nxc1 25. Rxe3 Nxa2 and it looks like 26. Rxc3 is forced, after which 26... Nxc3 black is up a rook and it's over. But yeah, simply 23... Bxh3 keeping all the threats is even stronger. White is helpless.
Also, instead of 17... 0-0-0 it looks like either 17... Bf4/g4 threatening to take the knight on f3 destroys white.
White clearly got himself entangled with problems in this game.
This is an interesting game I played (I am black). I'm sure it is not best play on each side, but it is interesting. I think I may have missed some mate opportunities, but I was low on time.