Khiliad

Case study

A tyre shop built around how tyres are really sold.

How a specialist motorcycle tyre shop got its own system, instead of a standard e-commerce platform, so prices, sizes and stock follow the business's own rules.

Client
OnlyKnobblies, a UK online shop for off-road and adventure motorcycle tyres. A business we run ourselves.
What we built
The whole shop, from the pages riders see to the admin staff use
How it was delivered
The rules agreed and every key screen drawn first, then built step by step, each step with clear checks
See how a build works

The challenge.

Riders look for tyres the way they talk about them: by name, or by size. They search Google for them, so every page had to be easy for search engines to read from day one.

Selling tyres also runs on rules that a standard e-commerce platform treats as a simple label or a field someone types in:

  • Sizes that have to match. Tyre sizes are written in metric and imperial. Matching the right inner tube or mousse insert to a tyre means converting between the two and checking the rim size.
  • Prices from cost. Every price is worked out from supplier cost, shipping, VAT and margin, and it changes when the supplier's price does.
  • Supplier stock files. They should update the sizes already in the shop, and never create new products by accident.
  • A referral scheme. Riders earn store credit as a share of profit, only once the return window has passed.

On a standard platform, each of these means an add-on, a workaround, or someone doing it by hand. Add the monthly plan and a paid add-on for each gap, and the costs stack up on a low-margin product like tyres.

OnlyKnobblies: a tyre page, with sizes, stock and performance ratings

What we built.

  • A shop built for search. Every page riders see is built on the server, so Google reads the full page on its first visit, with product details marked up for search results.
  • "Complete the Job". Each tyre page offers the tubes, mousse inserts and accessories that fit it, so a rider gets everything for a tyre change in one basket.
  • Prices nobody types. Every price is worked out from supplier cost inside the system.
  • Safe stock imports. Supplier files update existing sizes, and can never create a product.
  • One admin for everything. Orders, customers, stock, imports, pricing and discounts, for tyres, tubes, mousse and accessories alike.
  • Checkout and accounts. Card payments, order emails, sign-in with Google or Apple, and referral credit held as a balance.
  • Share images. Every product gets its own image for social media, made from its live price and stock, so no product photo is needed.

The hard parts.

  • Rules in the system, not in people's heads. Prices come only from supplier cost, imports can never create a product, and riders only ever see three terrain types: gravel, mud and grass. Because these rules live in the system, nobody can break them by mistake. Competition tyres are clearly marked as not road legal.
  • One structure for every product. Tyres, tubes, mousse inserts and accessories all share the same structure, so the admin works the same way for each. An early shortcut for tubes and accessories was caught against the written specification and put right.
  • Kept apart from a sister business. OnlyKnobblies shares some accounts with a sister company. Its own tracking, and payments filtered by shop, keep the two businesses' data from mixing.

The result.

0
prices typed in by hand
4
product types, run from one admin
1 basket
everything a rider needs for a tyre change

The shop is built to be found, easy to run, and set up to sell more with each order. Nothing came from an off-the-shelf theme. The data, the pricing and the pages were all made for this business, and the business owns them, with no platform fee on each sale. Next come buying guides, a tyre size guide and pages for bike models, to bring in more visitors from search.

OnlyKnobblies: the home page with the tyre finder

For the technical reader

LayerTechnology
Shop and adminNext.js 15, Tailwind CSS
DataSupabase
PaymentsStripe
EmailResend
HostingVercel

Every customer page renders on the server, with structured data and canonical links from day one, and full control over web addresses. Prices are calculated in the database and never entered in the app. Supplier imports can only update existing variants. Every product type uses the same product and variant model. Stripe events are filtered by store, and share images are generated from live price and stock data.

See how a build works

Not sure which way in?

A first conversation costs nothing. We'll tell you where we'd start, and if the answer is not yet, we'll say so.

Or email info@khiliad.com, or .