What do you do when you have a great product, but also a big backlog of features, and you don’t want to make your users wait until you develop them all?
Let me tell you a story of how a team of 2 people, a product manager and a user experience designer, completed the Wix Stores roadmap—in 1 week. How did they do it? Building with APIs on top of Wix Code.
Wix recently introduced 3 APIs for Wix Stores. We also exposed the Stores product data, making it available to use with Wix Code functionality. Using these new capabilities, users can extend their Wix Store with features that we haven’t yet built into the product—features like related items, bulk add to cart, wishlist, reviews and ratings, print on demand, and many more. The result was velocity, and sparing our users of 2 years of waiting.
At this point you should be wondering, “How it is possible to build 2 years of features in 1 week? What’s missing here?” The magic is APIs—APIs and a runtime (Wix Code in this case) that enable the site owner to code features for their site right away.
We should think of APIs as Lego blocks. Using APIs we can compose new features and tailor solutions to our specific needs. These are our new Lego blocks:
addToCart API - adds a product to the store cart, including the quantity and any selected product options
getProductOptionsAvailability API - gets the availability of a specific product variant; for example, a shirt of size L and the color Green
Stores data access - API access to the store product catalog
Related products is one of our most common Stores feature requests. You may be asking, “Why don’t Wix Stores have related products as a built-in feature? Why should a site owner need to code related products themselves?”
The truth is that we actually are building a related products feature at Wix. However, even when Wix Stores does have related products built in, will it provide the right related products for your site?
The challenge is that there are different ways to define which products are related. It can be products of the same price range. It can be products from the same product line. It can be products that are complementary, like a gaming console and the games. Some vendors offer “Customers who bought this item also bought”, or “Compare with similar items”. Others offer “More products from this seller” and “More products from other sellers”. And there are countless more variations of how to define related products.
Another challenge is, how do you display related products? Most vendors show a gallery of product images with some product details. But there is a range of what information different sites choose to display. Do you show the price and name? Vendor? Specification details to allow comparing products?
All those variations translate to a long backlog of features for a product team to develop. Just those features around related products can take a year to develop, let alone other store features.
Here come APIs to the rescue. Now, with a single API call to the getProduct API, and access to the product data, our site owner can create custom logic for calculating related products based on whatever criteria they choose. They can try different product relationships and different display styles with varying levels of product detail. They can incorporate information from other database collections, or even use other APIs to create solutions; for example, machine learning APIs such as those offered by Google, AWS, and Azure (among others).
Best of all, this story shows the power of APIs for a team creating a product. With the API-first approach, the product development team can now focus on building the main product and the most common use cases. Meanwhile, the APIs give users the ability to customize their own features and create less common implementations than we’d build. By introducing a small set of APIs, the number of options grows exponentially.
Want to see it in action? We’ve taken the 2 years’ worth of features that the 2-person team created and turned them into examples for how to extend Wix Stores with Wix Code.
Given the choice, would you rather spend 2 years building a product, or a few weeks opening APIs that let your users build the features they need within a few days?
This post was written by Yoav Abrahami
You can follow him on Twitter
For more engineering updates and insights: