How do I theme the user profile page?
I would suggest you to use Panels and Views modules and optionally Profile2.

You will add some fields to user account or to the user profile if you installed Profile2. Then enable the 'User profile template' page under admin/structure/pages and add a panel variant, select a layout and place the content or fields. If you have Profile2, then you need to add it as a relationship 'Profile2 from user' under the 'Contexts' menu of the panel page. I'm not going into details about how to use panels.

To display the summary of user's recent activity, you should setup a view with a contextual filter of user id, preferably a 'Content pane' display, then you need to place this content pane into you user panel.

It is not a great secret how to build a user profile page, but it's completely dependent of what you want to have. If you have any difficulties implementing the steps I wrote, you can update your question or post another more specific question.