My first real sacrifice game!

Initial thoughts.
Qg6 is not an (!) but rather a blunder.
The correct move here is bxh3 or Nf3+. Why? If Bxh3: it removes the g pawn defender of the f3 square should white not see the queen fork. So white cannot recapture the bishop.
If Nf3+: Forces recapture and allows the bishop to take h3 trapping the rook and greatly weakening the kings safty.
Qg6 on the other hand leds to f4! and you lose the advantage.