Centralizing product publishing controls on Shopify

For most of 2022, I was a product design intern at Shopify on the Merchandising team. My main project focused on centralizing product publishing controls on Shopify's admin to make it more efficient for merchants to manage where customers can purchase their products.


June - Nov 2023


4 designers, 2 engineers, 1 PM


🚀 Shipped at all merchants in 2023


User research, UX design, product thinking, prototyping

🚧 Full case study coming soon!


What is product publishing?

Shopify gives merchants control over where they can publish their products and to who. The 3 main ways that merchants can control publishing:

  1. Sales Channels are the different platforms where you sell your products (e.g. Meta, Shopify Store, Google, etc.).
  2. Markets are the different countries/groups of countries that you want your product available in (e.g. North America, Europe, etc.).
  3. B2B Catalogs allow merchants to sell products to certain businesses at specific prices (e.g. wholesale).

The problem was that merchants had to manage the publishing across all 3 on different surfaces, so our goal was to centralize all publishing controls to a few key surfaces.


Where can you manage product publishing?

My internship project was to centralize all product publishing onto my main surface, the Product Index page, and assist with adding the controls to the Product Details page.

Product Index page

The primary purpose of this page is to give an overview of all of your products. It allows merchants to filter, sort and perform bulk actions on multiple products at once.


Product Details page

This is where merchants can edit the details of a single product (e.g. description, product images, etc.) and it also allows merchants the ability to manage publishing.



Design systems should be the floor, not the ceiling.

Shopify gave me opportunities to develop and refine not only my design skills, but key skills that make me a better collaborator and communicator. My biggest takeaways from my internship are:

  • Start with the best experience first. There were times where I found myself molding some of my explorations to existing components of the design system when I should have been focusing on the best possible solution, then expanding the design system to fit that.
  • Start by asking simple questions. The biggest area I needed to improve in was contributing more in cross-functional meetings. My team provided a lot of support and encouragement to get better at this throughout my internship and becoming comfortable with asking simple questions just to start gaining context.
  • Find new ways to share progress and updates. Different types of updates are needed depending on who you are communicating with. Whether it was Slack messages, video walkthroughs or live presentations, I really learned how to effectively utilize each method depending on who I am talking to and what I'm sharing.