How Vitamin Software Helped Thread Buy Clothes Just-in-Time

 

A case study coauthored by:
Emma Ungureanu, George Voicu and Andrei Ismail.

Thread (backed by YCombinator in 2012) is an e-commerce platform that uses Artificial Intelligence to innovate the online shopping experience. Using various methods to gather information about their customers’ fashion style preferences, Thread sends personalised outfit ideas that can be purchased directly by consumers.

To make the most of their business model, Thread uses a Just-In-Time (JIT) buying strategy that allows them to keep inventory costs to a minimum. Thread partnered with Vitamin to build intelligent robots using Robotic Process Automation that perform the task of buying products from some of their suppliers.

 
Photography by Samson
 
 

Vitamin Software helped set up, operate, and maintain JIT Shoppers that transfer orders placed by customers on Thread’s website further to suppliers, decreasing costs, delays, and errors. In addition, Vitamin Software optimized the ordering process for each supplier, lowering Thread’s shipping costs.

 

About the Customer

Thread is a startup that brings tech into fashion. With the rise of e-commerce, the hassle of high street shopping has been replaced by endless choices, overwhelming even the most experienced shopping enthusiasts.

But with the power of technology, Thread turns choice to their advantage. The Thread platform combines machine learning algorithms with a fashion stylist’s human touch, sending personalised outfit recommendations directly to customers.Such innovation has paid off: Thread consistently achieves larger basket sizes and order values compared to other online retailers.

The Thread marketplace displays items from hundreds of brands, and can provide tailored recommendations based on customer style, size, and budget. This means the company operates in an intricate ecosystem where innovative technologies are not only used for revolutionising how people shop, but also how the online store collaborates with suppliers.

 

Customer Challenge

Thread’s mission is to help people feel their best by making it easy to dress well. This looks simple from the outside: a short quiz establishes the customer’s style preferences, and outfit recommendations are sent regularly.

But using AI to offer a personalised shopping experience implies having a wide range of products to choose from. To keep inventory costs down, Thread employs a just-in-time (JIT) strategy by ordering from their suppliers quickly after the customer places an order on Thread.com. This enables Thread to scale its inventory with relatively low costs.

This unique technology-powered inventory model lowers costs, but has two hard requirements in order to succeed:

  • Speed – any order placed by a customer on Thread.com has to be transmitted to the supplier ASAP
  • Accuracy – it’s critical that orders placed with the supplier are correct

By meeting these requirements, Thread would be able to both increase customer satisfaction (by offering a more diverse inventory) and lower the costs of its inventory.

 

Why Thread chose Vitamin

The collaboration between Thread and Vitamin Software was pretty much a match made in heaven. A business-savvy product development agency partnering with a tech-savvy retail startup – you can’t go wrong with that! It was obvious from the very beginning that Thread and Vitamin were cut from the same cloth: we shared core values that would lead up to a successful journey.

From our first discussion, Thread noticed our commitment to quality. Vitamin takes engineering best practices very seriously. This was essential to Thread’s CTO, Ben Phillips, who places great value on good, clean code.

 

portrait of ben phillips, cto and co-founder at thread

“At Thread we care deeply about the quality of the software we produce. We've only ever worked with one external company to build our product, and Vitamin has been an incredible help in hitting our company goals.

From the first discussion about working together, it was clear that they valued high-bandwidth and extremely clear communication, as well as a shared value in high-quality engineering. In addition, the conversations we had were enjoyable – we didn't just list requirements, they care about our company mission and have provided many ideas on how we should fulfil it.

As such, we've been happy for Vitamin to represent Thread in conversations with our clients, they get us and understand what we're about. All in all, it's been a huge positive for Thread to have Vitamin on board for the journey.”

— Ben Phillips, CTO & Co-founder at Thread


 
 

Vitamin Software initially took over a minimum viable product (MVP) for the JIT Shoppers robots from Thread’s team. By applying our understanding of business processes and technical skills, we scaled this MVP to a fully-fledged, robust system that runs round the clock and makes thousands of customers happy each month. We were able to support Thread’s growth by applying our proven MVP-to-Product-Market-Fit product development methodology.

Last but not least, you may have figured out by now that we at Vitamin Software are great communicators. We love asking the right questions, and maintaining high-bandwidth communication with our customers. As a result, Thread trusted us as representatives in Thread’s relationships with key suppliers. We sat down with some of Thread’s biggest partners to overcome critical issues in the ordering process. As our colleague, Vladimir Căruntu, says:

 

“At Vitamin, I found it incredible that I was able to directly communicate with key partners of our customer. At other product development agencies, it would have required layers and layers of management to get the same result done.”

Vladimir Căruntu, Software Engineer at Vitamin Software

 

Threading the Needle

As declared in their company values, Thread is obsessed with user experience and moves uncomfortably fast. Their JIT inventory strategy needed to accommodate these aspirations, so their order management process needed to be streamlined and automated.

Vitamin Software was there to help Thread innovate not only the customer shopping experience, but also the behind-the-scenes process of ordering from vendors. The solution to Thread’s major needs was Robotic Process Automation: software that would automatically handle order placement with the supplier.

illustration--robotic-arm--v1.png
 

When a customer places an order on Thread.com, the next step of ordering products from a supplier is not done by a human, but by a software program. Vitamin Software made the shopping robots stable and error resilient enough to subsequently expand them to additional vendors.

 
 

The technologies we used when programming the JIT Shoppers cover various elements of the buying process:

  • In order to add items to the shopping basket and place orders, shoppers autonomously interact with the supplier’s website through the Selenium framework for browser automation, using PhantomJS as the headless browser.

  • Where possible, direct HTTP requests to suppliers’ public APIs were made to ensure the JIT Shoppers are resilient to website changes.

  • Various integrations with external services were added to replace human interaction. The most simple example is a Gmail integration that picks up two-factor authentication codes and uses them to authorise the credit card transactions at the payment step.

  • Our quality assurance mechanism employed stress-testing of the entire buying product process, up until right before the very last step of order confirmation.

  • Monitoring and alerting dashboards with both operational and business KPIs were built using the Librato metrics-based monitoring solution (now part of AppOptics). This allows for real time monitoring of the JIT Shoppers’ activity, allowing us to stay on top of any issue. Since the robots were directly linked to Thread’s sales revenue, keeping an eye on the number of items purchased by each shopper and any interruptions in the robots’ activity was essential.

  • Last but not least, the JIT Shoppers knew how to communicate to human beings via Slack. They provided constant status updates to Thread’s ops team, so that everything was accounted for.

 

Optimised Buying

Vitamin Software took on another essential task: optimising the buying process. We understood the need for speed, but we also figured that the robots could contribute to the objective of keeping costs down.

As we iterated on the initial solution, we came to the realisation that the JIT strategy shouldn’t necessarily mean buying immediately. In the spirit of working smarter, not harder, we programmed the shopping robots to find the perfect balance between buying in bulk and buying fast.

Gathering items into larger orders helps keep delivery costs down and helps Thread benefit from bulk offers; placing orders quickly avoids items becoming out-of-stock and ensures the fastest delivery. For each supplier, we helped find the perfect combination between order time, cart content, and delivery method, so that Thread’s customers have the best shopping experience.

 

Bumps in the Road

Using Robotic Process Automation has its challenges, for one main reason: JIT Shoppers are meant to replace humans, but they lack the human ability to make decisions and adapt to change.

Our first challenge was figuring out how to build robots that are resilient to website changes. Anyone who has ever shopped online knows that websites change frequently to display promotions, new collections, and other modifications resulting from marketing campaigns. Our solution was to isolate the parts of the system that needed to be frequently updated, and have robust procedures in place to quickly tackle such changes.

Equally problematic was that JIT Shoppers were sometimes being limited by supplier websites due to the extraordinary levels of traffic the robots were generating. Vendor websites registered large numbers of successive orders placed from the same account, and instigated protocols to protect themselves from potential fraud. This resulted in blocked logins, orders put on hold, and other erratic system behaviors. We tackled this problem from two sides: we liaised with vendor technical teams,and we tried to modify the JIT Shoppers to behave more like humans.

Another difficulty was how to ensure the robots survived busy shopping periods. Holidays like Christmas, Easter, or Valentine’s Day mean spikes in orders, so we needed to always be prepared for vendors’ marketing campaigns. Our approach was to stress-test any new feature beforehand to guarantee the JIT Shoppers’ endurance. We complemented this with Vitamin’s ability to respond to emergencies from its customers 24/7.

Finally, just like New York, the internet never sleeps: people shop online around the clock. The robots had to ensure 24/7 unattended operations, and deal with temporary errors and unexpected behaviour. Our solution for this was built-in fault-tolerance, self-recovery, and retry mechanisms that would minimise interruptions in the JIT Shoppers’ activity.

 

The Golden Thread

We knocked Thread’s socks off with our quality work and excellent communication skills. But why did they stick with us for so long, resulting in a successful five-year partnership? We think that the Vitamin Engagement Model of building, operating, and maintaining a product is the secret ingredient.

Leveraging our strongest qualities, we offer technical expertise to create a product, followed by business analysis skills that helped Thread optimise and streamline the buying process. Top that up with clear operational procedures and hassle-free communication with a Vitamin Software Project Manager, and you get a truly enjoyable experience.

 

Results & Benefits

The automated buying system that we built for Thread has helped them place orders with suppliers quickly, correctly, and in a cost effective manner, keeping the customer satisfaction level high. The JIT Shoppers’ activity translates into concrete results that influence Thread’s business directly.

  1. The most important benefit of using JIT Shoppers is that they never ever take vacation or get sick.
  2. Second, the JIT Shoppers’ out-of-stock rate is up to five times lower when compared to other retail buying methods.
  3. Third, Thread can quickly onboard and scale volumes with strategic suppliers by leveraging JIT Shoppers.
  4. Last but not least, the JIT Shoppers are friendly to us humans :) They report their activity in real-time to the Thread ops team over Slack, so that everyone can understand what robots are doing at every point in time.
 

Next Steps

The partnership between Vitamin Software and Thread does not end with the JIT Shoppers. Future plans include building Roboshoppers – shoppers that are more stable, more easily replicable for new suppliers, and with lower maintenance costs.

Refactoring the robots using a tried and tested recipe will simplify the way they work, meaning that the level of technical expertise needed to operate and maintain them will be lower. With less technical staff required to operate Roboshoppers, costs will drop and the product will be easily scalable.

Roboshoppers will use a blend of Robotic Process Automation and (where possible), EDI - Electronic Data Integration (EDI), to further streamline the ordering process and bring down costs. We believe that in today’s world, achieving economies of scale is a must when scaling up retail online businesses.

 

About Vitamin Software

A product development agency, Vitamin Software specializes in building your product and taking it from MVP to product-market fit. We drive the product where the client wants to go by writing quality code and communicating efficiently.

Vitamin Software is an Amazon Web Services (AWS) Partner Network Select Consulting Partner, specializing in building, operating, and maintaining robust and secure products. We operate the production setup in a secure fashion, based on our AWS Competency.

Vitamin Software builds bridges: From problem to solution, from difficult to feasible, from impossible to outstanding.

Want to know how?