My opponent, Connor, was able to tie the match with his win against me in the second round game in the Twin Cities Chess League. I haven't run the analysis, but I think my biggest mistake was 17...f6, as that allowed the hole for the Knight. In retrospect, playing 17...g5 instead may have worked.
Connor played tough with time down. I was able to gain back some of my Pawns, but he was able to get his King into the fray on the Kingside to promote that Pawn. (We lost track of the remaining 14 moves in the time scramble.)