Many responsive designs are not done well, especially for critical sidebar features like ads or others that get pushed to the bottom and do not get clicked much at the bottom.
IMO the best solution is a responsive website to deal with different resolutions and a mobile site to deal with lower resolutions and optimizing the space for phones.
If you are using bootstrap for instance then you can hide/show things based on resolution and that is also a great solution, such as putting ads hidden between post loop in Wordpress sites to only show on small resolution. Most premade themes that use bootstrap probably do not take advantage of this well enough.
In your case, you could go either way, but a responsive website and no mobile one would be easier to maintain. Just preview the site on a phone and check areas like your contact form, number, and portfolio
And you don't have to worry about duplicate content if you add rel="canonical" tag to mobile site