Bringing in-store shirt personalisation into Shopify POS

A major football club wanted shop assistants to configure names, numbers and competition badges without leaving the point-of-sale system. FIK and Tailor worked as one Modulor Studios team to build a custom Shopify POS experience that guides the sale and only offers options each store can deliver.

Bringing in-store shirt personalisation into Shopify POS

Client

The client is one of the world's best-known football clubs and a major international sports brand. Its physical retail operation includes flagship megastores where personalised shirts are a central part of the fan experience.

A supporter can choose an official player or request a custom name and number, then add competition-specific badges and sponsors. For the club, delivering that experience consistently requires player, product and inventory data to come together while the customer is standing at the counter.

Challenge

Shopify POS is the system shop assistants use to manage products, inventory and payment in a physical store. Its standard checkout can sell a shirt and its size variants. It does not include the club-specific workflow required to assemble a personalised shirt during the sale.

The assistant has to combine the correct product with a player or custom name, number, competition badges, sponsors and typeface. The available options depend on the shirt and competition, and the materials must be in stock at that particular store.

Previously, completing that configuration required manual steps, separate systems and notes outside Shopify POS. Every additional check added time at the counter and increased the risk of selling an unavailable or incorrectly configured shirt.

The club needed to bring the complete workflow into the point of sale, guiding the assistant from the fan's request to a valid item in the basket.

What we built

The team built a Shopify POS UI Extension in React and TypeScript. It appears at three points inside the till: a home-screen tile showing the number of personalisable items in the cart, a six-step configuration flow and a quick action attached to each relevant cart line.

During the sale, the extension retrieves personalisable variants, players, competition and sponsor badges, typefaces and inventory for the current store through Shopify's GraphQL Admin API. Search is designed to remain responsive at a busy counter without sending redundant requests.

The assistant completes the configuration with the customer and adds it directly to the basket. The extension hides out-of-stock options and identifies misconfigured products before they reach the customer-facing flow.

One Modulor Studios team

Engineers from FIK, our Shopify-focused sister studio and a Shopify Premier Partner, led the technical implementation. Tailor led product direction, project management, engineering leadership and the client relationship.

Both studios worked as one integrated Modulor Studios team throughout the engagement.

Impact

The club gained a guided personalisation flow inside the system its shop assistants already use to complete each sale.

Player information, product rules, competition badges, typefaces and store-level inventory now come together within the cart. Assistants can configure a valid shirt without switching systems or relying on handwritten instructions while the fan waits at the counter.

The current documentation does not include deployment or performance figures, so improvements in transaction time, errors, rework and sales still need to be validated.