Excellent play and excellent analysis. Getting his queen out so early really was his priniciple mistake, since he was trapped and limited in his movement, ultimately leading to one, then many, blunders. I'm not sure about the knight sac, but it seemed not to slow down your overall plan, in retrospect.
Two questions, however. First, what's with all the knights on the edges? Your move made sense, but it seemed like there were far too many of these to benefit your opponent. Second, 26...b4 seems questionable. His pawn is isolated, but I feel if the game had been more even and if he had played better, this could have caused trouble.
Overall, well played.
Since I upgraded my membership here I have been playing most of my turn based games with the help of the database on this website. I feel that because of this I am getting to grips with openings and after look up the theory behind them I am understanding why certain moves are made and some are not. It has helped my long live chess performance as well, after playing certain openings using the database enough times in online chess I am finding I can remember some of them for when I play on live. I recently played someone in online chess who prevented me from doing this. I played two games with this opponent. (The other of which is still in progress). At the start of both he played moves that made the database here null. Here is one of them