The positional maneuvering game turned more violent after White's ambitious pawn break in the center on move 15, which created some potential threats for him (including a possible mate on h7 later on) but also left his position looser, something which became clear after he played 23. f4. I thought during the game that he was being over-optimistic about his attacking chances and leaving behind vulnerabilities. Despite this, the game was dynamically equal until I (under major time pressure) played 27...Be1. The one correct continuation for White after 28. Re3 would lead to an endgame with technically balanced material (two bishops vs. rook and pawn) but that would favor White's chances. However, my opponent failed to see the subsequent bishop check on f2, then the necessary (and not obvious) tactic to follow, so I ended up the exchange and a pawn, sufficient to win the endgame after forcing some exchanges.
Aside from the time pressure lurch on move 27, I feel I played a solid game and adhered well to my thinking process requirements, so it was a positive experience overall. In practical terms, without my 27th move and its creation of threats, I may well have only ended up with a draw, so this is another example of the quirks of chess performance in practice.