Hairstory manufactures and sells innovative and premium hair care products to the regular customers and independent hairdressers using a direct selling model. Hairstory has developed an innovative distribution model without regional distributors, bulk sales to salon owners or large-scale retailers. Instead, haircare professionals are rewarded directly with the referral program.
Back in 2017, Hairstory had an e-commerce store already. It was a proprietary vendor-locked .Net solution, with limited capabilities to introduce any changes and expensive to maintain. Hairstory came to Logicify to create a new solution, highly customized and transparent. We were challenged by an extremely tight time to market to implement a set of resource-consuming features. First, Hairstory needed a new, built from scratch international e-commerce solution, which needed to automatically determine vendors and rules to deliver specific products. Multi-currency support was needed, as they were selling across the globe. Another challenging task was building an automated system for recurring subscription orders, including international customers, which would help keep hairdresser’s stock of hair care products always full. Hairstory’s public site also needed renovation.
To address the challenges, we provided the client with a dedicated team, fluent in English. We started with the standard e-commerce features: browsing the products, adding them to the shopping cart, providing shipping info and credit card details. All of them were automated, so, for subscription orders, actual customers no longer need to take manual actions at any of these steps, including selecting vendor who is responsible for the shipment. The automation determines which warehouse should be involved for the selected shipment vendor and products.
Since we could not store credit card and payment details on our side due to regulatory limitations, we saved them with the help of the Adyen payment system. It handled all financial operations, such as payments and refunds, invoked by a token obtained during the registration process with them.
Another task was to integrate with a tax provider to calculate sales tax for the products. The task was complicated by the international nature of the store: for some countries, we had to display the price in the local currency with the sales tax included (VAT-based countries), while for US it should have been displayed separately. Some countries have special rules for delivery which also impact the price which the end customer sees. Besides, we wanted to avoid calling the tax provider each time a new product was added to the cart. Instead, we store a flat rates table for VAT and calculate tax ourselves when customer browses the store for products. The tax calculation call is made only when customer is placing an order, which saves Hairstory money paid to the tax provider.
International market features included VAT/non-VAT support, multi-currency, and region-based product list. Country of customer was automatically detected using their IP address. We also implemented Hairstory’s referral program which is built to support hairdressers serving their own shops. Technically, it has different user types, such as clients, hairdressers, coaches, star clients, etc. Each type has an associated set of products available, a permanent discount and a revenue amount they receive when their referrals buy products.
Another standalone module for surveys collects feedback from the end customers to help with marketing and business development.
While the development of even newer modules is still going on, Hairstory has already rolled all these new features into public, attracting more happy customers.
- Back-end: Python, Django, django CMS, RabbitMQ, Celery, Django Oscar
- Databases: PostgreSQL, Redis
- Infrastructure/Deployment: TeamCity, Amazon Web Services