Get familiar with databases. You would just store all their customizations in a database with, say, their unique member ID as the primary key. When someone clicks on their profile, you do a lookup based on their member ID, pull all the customizations, and push it into a profile template.
It'll be more complex than that as you go, but that's the basic idea. Good luck.