Bundling & outfitting

What belongs with it, generated per product.

For every product, Koral builds the set that belongs with it: the trousers that match a shirt, or a sofa’s cushions, throw and side table. Already on the page when the shopper arrives. One API, and you decide where it shows.

A satin slip dress product page with a Style with row, and a phone with the same module

Generated once, served wherever it adds value.

01

Product page

Under the buy box, with add-all in one tap.

02

Added-to-basket step

In the panel after add to basket, while the decision is warm.

03

Basket & checkout

A quick-add row under the basket line.

04

Listing page

A set preview on the product card.

05

Confirmation page

Add to the order while it is still open.

06

Dispatch email

The set again as the parcel arrives.

07

Marketing automation

A nudge when a consumable runs low, in any email platform.

08

Campaign & editorial

The set rendered as a shoppable look or room.

09

App & assistant

Same endpoint, any surface you build.

The tools, up close.

A product page with a Combine with module showing the matching pieces of the set
01

Matching sets

The pieces that belong together, across brands, shown as one set on every piece.

Read more →
A grey running sneaker as seed, the Koral engine, and the care products it suggests
02

Complementary products

The care, parts and add-ons that go with the product, from the product page to the mail flow.

Read more →
An outfit collage next to a phone showing five looks for one product
03

Bundles & Finish the look

Five complete outfits per product, or one look that finishes the piece in view.

Read more →
Three phones: share inspiration, get five looks, then try a look on and refine it
04

AI Stylist

Shoppers share inspiration, occasion and budget, and get up to five looks from your catalogue.

Read more →
Three phones: choose a photo or avatar, the shopper's own photo, then the same shopper wearing the outfit
05

Virtual try-on

The full outfit on the shopper’s own photo or an avatar.

Read more →
The Koral dashboard with a review table of matching sets and a Rules panel
06

Review every generated set before it goes live

Merchandisers see each set in the dashboard, test it on live products and set the rules for what shows where.

Matching sets, measured in an A/B pilot on 30,000 fashion items.

+35%

More add-to-carts for shoppers who saw a matching set.

+12%

More sales from the baskets those sets created.

Implementation: this is all it takes.

No model to train, no tagging, no manual linking. The product feed is the only input; the rest is one endpoint.

API · Bundling & outfitting
POST https://search.koral.nu/api/v1/search/complementary
{ "productId": "YOUR_PRODUCT_ID", "feedId": "YOUR_FEED_ID" }

200 OK
{ "matches": ["231956529", "231955952"] }

Sets are generated ahead of time, so the endpoint just serves them, sub-second. Your team renders them where they belong.

Day 1

Feed connected

CSV, JSON or your platform feed. Koral generates the sets for every product in it.

Day 2–3

Endpoint wired

Your team calls the endpoint from your own components and places the result where it belongs.

Week 1

Live and measured

Pilot on one category, A/B-split, with events in your analytics. Then roll out market by market.

Good to know.

Generated ahead of time
Sets are built in the backend for the products in your feed, so the endpoint just serves them, sub-second.
Your components
Your team renders the response in your own modules, so it looks like the rest of your store.
Every market and app
Sets follow your product IDs, so the same call works across domains, markets and apps.
Analytics
Every pilot is A/B-split and measured on add-to-cart and sales, with events in your analytics.
Control
A rules engine for what shows where: categories, price bands, stock, margins and brand exclusions.
Review
Merchandisers see every generated set in the dashboard, test it on live products and remove what shouldn’t show.

Security and data.

Nothing is kept
Koral keeps nothing from shoppers. Photos and data are used for the request and not stored.
Processed in the EU
The script is served from a global CDN; requests are processed in the EU.
Uptime
99.9% uptime SLA.
Data processing agreement
A data processing agreement (DPA) comes with every contract.
Your product data
Product data stays yours; nothing is trained on it.

Questions about data processing? Write to hello@koral.nu. Privacy policy →

FAQ

Frequently asked questions.

Also from Koral

See Koral on your own catalogue.

Start with a free demo page on your own catalogue, then a one-month pilot at 50% off list prices. All we need is a product feed. Tell us a little about your store. We answer fast.

Prefer email? hello@koral.nu