1547 vs. 1188
Google for "Ruy Lopez" and you're find 10,000 examples.
10. Nxe5? is inexplicable
17. ... Bxf5? Ugh.
20. Rf2? - Kh1 is far better. He'll need that rook unpinned for defense.
"21... Rfe8 (A noobish attempt for checkmate.)" No, developing the R with tempo. Good move.
22. Kf1 - This may have been his only move, but now his N, B, R, and Q don't protect the diagonal leading to his K!
...which you see, and mete out punishment. Well done.