/ Business, Styleguide

Swap.com swaps fronts

Come to think of it, the end goal of software development is never the software itself. That goal is out there, in the real world. Apart from rare cases of ill intent, all software development aims at improving, enabling or optimizing real-world processes and events. You could say that software development is about making the world a better place, one digital service at the time. Some cases may have more impact than others but they all matter.

Speaking of making the world a better place, meet Swap.com, the world’s largest online consignment store for pre-owned apparel. In a consignment store, you can put your goods up for sale in someone else’s shop. When sold, the shop owner earns a cut of the resale price. Swap.com was originally launched in Finland as Netcycler but their US operation has been on a fast track since 2012. Today, they boast an annual growth rate of 180% and have just opened a huge new logistics center for over 2 million items in Bolingbrook, Illinois. With business soaring, Swap.com wanted to make sure that their online side would scale up with the rest of the operation.

According to Jussi Koskinen, Swap.com’s co-founder, SC5 had first caught their eye because of SC5’s expertise with high-performance cloud and application development. In the end, they asked SC5 to re-design the Swap.com online storefront to suit their current and future needs. The core challenge was to create a service that would work fast and provide excellent user experience regardless of changing user volumes and the wide range of devices used to connect to the store. SC5 was proud to be a key partner in the re-design but while rewriting the front was definitely part of the answer, it was not the whole story. So what did we actually do?

One of the many technical challenges of the Swap.com project was the refactoring of the web store into an isomorphic JavaScript application. In layman’s terms, an isomorphic program can run both on the client, such as a mobile phone, and the server. This means that while the initial connection over the web is made to the server, subsequent actions can be done locally on the client, greatly improving performance and thus the overall user experience on any device.

According to Varya Stepanova, a Senior Software Specialist at SC5, another important aspect of this project was the introduction of a continuous delivery environment. The online store front was split into individual components, while a detailed “style guide” ensured they had matching inputs and outputs. Since these components could be developed independently from one another, they could also be worked on simultaneously regardless of their final sequencing. This sped up the development process considerably and will make future upgrades to the system easier. Varya goes on to list ReactJS as the chosen JavaScript platform, webpack as the building system and CSS modules for the style implementation.

Overall, the front end upgrade made the Swap.com online store faster, more stable and considerably more robust when faced with heavy user loads. The compartmentalization of independently developed components not only made the entire project go faster but laid important groundwork for future upgrades. Swap.com’s reaction to the upgrade was best expressed by their co-founder, Jussi Koskinen:

“SC5 has been a great technology partner. Our development process and the tech stack is now future-proof, enabling our development team to focus on bringing out new features to market faster and more cost-effectively than ever before.”

Don’t take our word on it – check what our customers have to say!