adds a bunch of shit to the user profile page

TODO: we should probably use some kind of presenter here. there's a lot of logic in this view.