Loop + twist streamlines logistics with a custom app

  • App development
  • B2B

Project details

  • Team

    Senior Developer, 2 Mid-Level Full Stack
    Developers, Team Lead, Project Manager,
    Account Manager

  • Technologies

    PHP, Laravel, MySQL, JavaScript,
    Shopify REST API Journease API, AWS

  • Time

    1 month

  • The task

    The task was to develop a custom application to integrate loop + twist’s eCommerce platform with their new logistics partner, Rhenus.

Results

  • +54%

    performance

  • +92%

    usability

  • +76%

    code quality

About the business

loop + twist is a professional furniture company that authentically recreates mid-century design classics, remastered for the modern home. Each piece is handcrafted with care and attention to detail, using only sustainable beechwood from responsibly managed forests.

loop + twist believes that well-designed furniture enhances our lives and creates a sense of timeless elegance in our homes. Their furniture is made to last, and each piece reflects a lifetime’s work of quality craftsmanship.

Challenges and solutions

In recent years, loop + twist has experienced rapid growth. This growth has led to some challenges, including the need to switch to a new logistics company. Their new logistics partner, Rhenus, did not have native integration with Shopify, loop + twist’s eCommerce platform. Rhenus, chose Journaese, a software company that provides an API layer for integrating with eCommerce stores. Journaese also does not have native integration with Shopify, so the only way to implement Rhenus using Journaese’s API layer was to develop a custom application to interact with it and transmit the necessary information.

Functionality for working with the Shopify REST API to manage products

The main goal of the project was to manage products, product data and properties, inventory levels, and orders. This included:

  • Sending information about new orders to Rhenus via the Journaese API.
  • Updating the quantity of items in stock on the Shopify side when changes are made to Rhenus’s inventory.
  • Develop product tagging functionality.

To implement the product management features described above, our team developed a custom application for interaction with the Shopify REST API.

Development of additional fields for Rhenus

One of the project’s key objectives was to develop additional fields for Rhenus. This was necessary because loop+twist sells furniture, which has attributes such as length, number of units in a box, and height that do not have native fields in Shopify. To address this, we used metafield objects to create custom fields in Shopify. We then worked with the Journaese API developers to map these custom fields to the required fields on the Journaese API side.

Processing additional fields

Another challenge was processing additional fields that do not exist in Shopify but do exist as separate fields in the Journaese API, such as special order instructions. The Journaese API also had fields such as the size of the shipping container that should be used for delivery, etc. Shopify does not have these fields, so we managed all of the logic for transmitting this information at the backend level to ensure the proper functioning of the logistics service.

Communication

The project required effective and timely communication with both logistics service representatives and customers to ensure that all platform discrepancies were addressed during development and the application was successfully launched into production.

Error handling mechanism

We developed an error-handling mechanism because the SKU field is used to match Shopify products to the logistics system and can be changed in both systems. This could lead to problems due to human error, such as accidentally entering an incorrect SKU. Our error-handling mechanism displays appropriate errors to notify the store administrator that the synchronization for a product is not working and that the product fields in both systems need to be checked.

Summary

Ultimately, our client received the functionality that worked exactly as needed. After the release of the first version, we continued to work with the client to identify and implement additional features. Our team also provides ongoing support and maintenance to ensure the smooth operation of the project in production.

We’ve got the experience
and skills to solve any issue