Commerce Module allowing user to customize product
Yes, you can do something like this example:

https://drupalcommerce.org/videos/tutorials/customizable-products-pizza-store

Have to tweak a bit for the sharing part, probably would go with a custom module and hook_entity_view_alter() using the variables from the url to adjust for the specific changes.