It's good that you want to get better by doing a post-mortem on games, but as has already been said, the main thing you need to work on is not hanging material. Not seeing that a piece is attacked, is understandable (at beginner level) but actively putting pieces from safe to unsafe squares such as you did with 8.Bh6 is something you have to urgently correct before you will see any progress.
Good job for noticing the mating mechanism with Ng5 and Qh7 (even though it shouldn't have worked), as you will see with more experience, even simple manouvers like this need to be done from a point of view of piece safety, otherwise they simply won't work against any opponent that is vaguely aware of what's going on, and will again be losing material.
I played nd5 because it felt like it was an equal trade and that i was less likely to blunder a piece if there were less knights on the board as it is harder for me to see quickly how many squares his knight can attack in a blitz game.
Now! We get an idea of your thought process.
1. Play slower time controls.
2. Learn to be proactive, not reactive. Play moves that make your opponent react to you, not the other way around.
3. Follow Opening Principles.
Opening Principles:
Tactics...tactics...tactics...
The objective of development is about improving the value of your pieces by increasing the importance of their roles. Well-developed pieces have more fire-power than undeveloped pieces and they do more in helping you gain control.
Now we will look at 5 practical things you can do to help you achieve your development objective.
They are:
Don’t help your opponent develop.
There are 2 common mistakes whereby you will simply be helping your opponent to develop:
Pre Move Checklist: