27 Qf6 Kg8 28 Rg2
Road to Chess Improvement!

12 Bh6... This is not a good idea. In the King's Indian Defense Black WANTS to exchange dark squared Bishops when the center becomes locked as the Bishop is blocked by all of his pawns. Also when you have more space you should try to avoid trades.
18 b3... Too passive. The pawn wasn't threatened so you should've just continued on the Kingside.
You missed some quicker/easier ways to win (you can use an engine for that) but overall you played really well.
Your opponent didn´t do very well. He went for this KID but immidietly he ran out of theory knowledge, his game went down.
7. ...Ne8 is bad move. The only reason I see in this is to play 8...f5 and open the kingside, but it is very unreasonable for black. Most usual moves are there Nc6 (Mar del Plata), Nbd7 or exd4. Less usual is Na6, but this is quite old-fashioned.
8. d5 is ok. He really can´t play the f5 because of deadly weakening of g5 square (e.g. 8. ..f5 9. Ng5 h6 10. Ne6 Bxe6 11. dxe6 and now u have great square for knight on d5. If 11...c6 then c5 etc.
I´d not exchange the DSBs. His doing nothing there.
14. h3 is slow. You might play Ng5 with tempo or go for breakthrough with maneuvr Ne1-d3 and then pawn f2-f4.
After 14...Nh6 you have target in weak pawn on d6. You might attack it immidietly with Nb5. You quite ignored the second knight on c3.
18. b3 is IMO needless. The pawn was protected and your opponent didn´t have any real chance for anything there. But ok, you wanted to play prophylactic because your opponent was absolutely ran out of moves, so why not.
19...Nxe4 is blunder. Then it is easy.
After 2 weeks of studying it is very good ;)
Need help improving my game. I posted this one because I felt this marked the fruits of my labor. Before I was struggling against players around 1000 elo and know I have bumped up to 1371 in two weeks. I have been studying chess for 2 weeks with a friend who is really good, with books, and with chess puzzles. Feel free to give tips or analysis. Thanks!