Seems like he outplayed you all game except for the oversight at move 28. Just look at the position after only 3 moves; black has 2 knights developed versus your 0 pieces developed. His position from then on was substantially better, until of course he lost it in one move.