Use a custom page with dynamic content as a user profile page

I’m trying to create a website with fully customised user profile pages. I’ve created the page which uses dynamic content to pull user custom fields into it, this works fine to view your own profile however I want users to be able to view others profiles. Currently when you try to view another users profile obviously it just pulls in the logged in users info, not the profile you’re trying to view.

I realise this problem is overcome by using a profile builder plugin however i’ve tried many of these and they don’t allow you to fully customise the profile page as I need.

Is there a way to have a fully customised user profile page that can be viewed by others? Would using custom post types work for this?