Make it bigger pre and price him out. Your hand is a perfectly fine 3bet. He probably doesn't have a strong hand only making it 7 after a few limpers and he has been active. I prefer 26-31$ here, looking to take down the 15$ in the middle.
As played I'd bet about my 3bet size plus $5 so 26$ and see what happens. I wouldn't talk in the hand unless i have experience doing so.
River as played is all about your feeling in the moment, its impossible to recreate on the forum, however bear in mind the strong = weak and vice versa for live tells. The sigh on the turn card which brings the flush is always a good tell