Ideas to improve

I see many moves where you retreated to prevent an exchange, which often is worse.

On move 39, you protect your pawn instead of going for the unbalanced position by playing Rc3. Move 10 seems strange as the game is opened quickly and many pieces are exchanged.

4...Ng4?!: wastes a tempo and slightly weakens your pawn structure. With 4...dxe5 5. Nxe5 it's white who's spent a tempo on unnecessarily moving his knight twice before developing any other pieces.

17...Qc7: 18. Rc1 lines up the rook with the queen, and you'll end up having to move the queen again. Qe7 immediately was better.

23...Bd5: Nothing wrong with this move (other than that the exchanges make the game more drawish), but I'd have preferred to bring the rook on f8 into play with Rd8 or Rc8.
Aside from these moves, I like your play in the opening and middlegame. 20...Nd5 (or Nh5) with the idea of Nf4 might have been a sharper alternative to 20...Nd2.

28...b5?: The cause of your endgame troubles. If the pawns had been on a7 and b6 later on instead of a6 (with loss of tempo!) and b5, your rook could have defended everything from d7 while also taking squares away from white's knight and having the option of going to d3 to attack white's queenside pawns. The position would have been equal after 28...Re8 or Rd8 (or, it seems, just about any non-weakening move).

32...a6?: I didn't notice it at first. 33. Rb6 Ra7 forces your rook into passivity, while 32...Rd3! would have still been equal.

34...Kg6?: Too slow: white could have won a pawn by force (with 37. Rxb5). You needed to defend a6 or counterattack a3 yourself; I prefer the latter, with Ne4 (or Nd5)-Nc3.

38...Rc1+?: Kf5 first, to kick the knight to a worse square while the rook still defends the pawn. You would have been playing for a win.

40...Kg5?: Completely the wrong place for the king. It neither attacks nor defends anything. Ke7 to defend or Kf5 to attack: either is reasonable.

41...Nc7?: 41...Ra1 42. Rxa6 Nxb4! would have maintained equality.

I have marked these moves as mistakes instead of inaccuracies (as Stockfish did) as I think they're all likely to change the true evaluation of the position (from drawn to losing for most of them, from winning to drawn with 38...Rc1+). 28...b5 could be considered only an inaccuracy, but since it serves no useful purpose (the queen has many good squares, and c4 probably wasn't even the best one) while definitely making the position more dangerous for you, I marked it as a mistake.

Well fought in the rook endgame. I can't fault you much for 52...Kd2 (Ke2 was drawing thanks idea of Kf1, and white has to spend a tempo to avoid perpetual check), but 53...Ke1 was a clear blunder as it's easy to see that you lose two tempi to Re6: one from defending the pawn with the rook, another from having to get the rook out of the way again so the pawn can promote.

you played the opening a little passively, so you ended up trying to catch up for the whole game. moves that stand out to me are 4. ...Ng4 instead of 4. ...dxe5. Your move ends up being a waste of a move, since your knight comes back to f6 anyway, and you aren't set up to take advantage of the weakening move 7. h3. Maybe if you had played d5 on move 6, your play could be justified.

The next big thing is playing d5 on move 10. In that position, I think it's best to keep the tension. Your opponent's pieces are more active than yours (and even then they should be more active if he/she played more accurately) so opening up the position is a little risky. If he plays d5 himself then you break with b5, which in a lot of cases you could do immediately. Otherwise you have time to shuffle and activate your pieces more.

After the position opened up, the best you could hope for was a draw. Neither side had major weaknesses, but your opponent had more active pieces. So you were just a little worse, and your opponent could have pushed that edge a little harder too.

33. Ra7 I have learned that passive rook in endgames leads to a loss fairly quickly.

I disagree on 10...d5. It was always going to be eventually necessary. It fixed the problem that 4...Ng4 created. It freed up black's position. You can't play Bb7 if white can respond with d5 (b5 b3) so either cxd4 or d5 is going to have to be played before Bb7, and I don't like allowing Nxd4. I think this was the best time to play d5, as white was going to play Nc3 next.

Thanks for the advice guys, appreciate your input. Ill try to keep it in mind and apply it to my games going forward.

You can't post in the forums yet. Play some games!