Ezeden: An Online Store for 3,500 Products Built on Its Own Master Catalog

Selling thousands of products from many suppliers means messy data: different units, duplicates, missing translations, prices in three currencies. Ezeden is a fast three-language store on top of a master catalog that turns that data into one clean, controlled source.

Ezeden: An Online Store for 3,500 Products Built on Its Own Master Catalog
View project:
ezeden.com.ua
ezeden.com.ua
Ezeden: An Online Store for 3,500 Products Built on Its Own Master Catalog - Home

The Challenge

Ezeden sells European brands for kitchens and furniture across Ukraine: kitchen appliances, sinks and mixer taps, professional equipment, furniture hardware, handles and mechanisms. The range covers 22 brands - among them Smeg, Gessi, Teka, Foster and Salice - and comes from several suppliers, each with its own file formats, units and naming.

The task was two projects in one: a store that customers enjoy using, and the system behind it that keeps thousands of products correct - prices, stock, specifications and translations - without a team of people copying data by hand.

The Store

The storefront is built for browsing a large technical range.

The catalog is faceted: categories filter by brand, price, availability and product attributes, with counts per brand, and the kitchen-mixers category alone holds more than 650 products. Each colour of a product has its own page, linked to its siblings by swatches - the Smeg KLF05 kettle, for example, comes in seven colours.

Product pages are rich: grouped specifications, documents shown as gallery slides, dimensions, bundles, accessories and analogues, reviews and questions. For buying there are cart and checkout, quick order, wishlist, comparison of up to four products, recently viewed, and alerts for price drops and back-in-stock. B2B customers get company accounts with quotes and payment by invoice for companies and sole traders.

Delivery goes with Nova Poshta to a branch, a parcel locker or by courier, plus pickup and a courier in Kyiv. The store runs in three languages and three currencies: Ukrainian, Russian and English; hryvnia, dollar and euro.

The store is a Laravel application with Inertia and React, rendered on the server: the visitor and the search engine get finished HTML, and the page then works as a fast single-page app.

The catalog is large, so it was designed for search engines from the start. Sitemaps list about 3,560 pages per language - products, categories, brands and content - with their alternates in all three languages, and every page carries hreflang links.

Product pages are marked up with schema.org ProductGroup and Product, Offer, Brand, breadcrumbs, the return policy, and each specification as a PropertyValue. The home page describes the organisation and the site search. An llms.txt file gives AI assistants a map of the store.

The Hub Behind It

The store has no database of its own. Everything it shows comes from the hub - a master catalog that is the single source of truth.

The hub imports from every source: supplier price files, an existing OpenCart catalogue, and readers for manufacturers’ own sites such as Smeg and Teka. When a brand stops listing a model, the store stops selling it. The data is kept clean: units are normalised, duplicates detected, and compatibility rules keep accessories attached to the right products.

Every field stays under control: it can follow its source, be edited locally or be locked, with a full change history and rollback. A rules engine calculates prices and a stock ledger records every movement; exchange rates come from the National Bank of Ukraine.

AI only suggests here: it drafts missing translations, guided by a glossary, and they wait in a queue until a manager approves them. AI is never allowed to change a price or a stock level.

The hub publishes the catalogue to Google Merchant Center and has connectors for the Rozetka, Prom.ua and Epicentr marketplaces, KeyCRM, Nova Poshta and Telegram.

Behind both applications there are over 300 automated test files.

Tech Stack

- Storefront: Laravel 13 + Inertia + React 19, server-side rendering
- Hub: Laravel 13 + Inertia + React 19 + Ant Design
- Data: MySQL 8.4, Redis 7
- Background work: Laravel Horizon (queues), Reverb (websockets)
- Infrastructure: Docker Compose on Hetzner, Caddy with automatic TLS
- CI/CD: GitLab pipeline with deployment over SSH

Result

A store with about 3,500 products in three languages that behaves like a fast modern app and is fully readable for search engines. Behind it, one master catalog keeps every price, stock level, specification and translation under control - so adding a supplier or a brand is an import, not a manual project.

Related Case Studies

A Catalogue That Builds Itself: Site Parsers, Supplier Price Lists and Imports You Can Undo

A Catalogue That Builds Itself: Site Parsers, Supplier Price Lists and Imports You Can Undo

Thousands of products from several sources means constant copying: new models, changed specs, new photos, price lists in different formats. The hub behind the Ezeden store takes that work over - it reads the sources itself, shows what would change, and never lets an import break the catalogue.

One Catalogue, Every Sales Channel: Rozetka, Prom, Epicentr, Google and KeyCRM From One Hub

One Catalogue, Every Sales Channel: Rozetka, Prom, Epicentr, Google and KeyCRM From One Hub

A store that also sells on three marketplaces and Google keeps five copies of its catalogue, and every price change has to reach all of them. The hub behind the Ezeden store keeps one catalogue and speaks every channel’s language itself - and it never deletes or recreates a listing that already sells.

Telegram Shop: an AI Seller, a Mini App and Payment Without Leaving the Chat

Telegram Shop: an AI Seller, a Mini App and Payment Without Leaving the Chat

Many shoppers would rather write to a shop in Telegram than fill in a form on a website, and a shop cannot keep someone answering every message at night. This platform puts an AI seller, a storefront and payment into the chat, while managers see everything live and can step in with one click.

AI Catalogue Content: Translations, Descriptions and SEO Texts Written From the Product’s Own Facts

AI Catalogue Content: Translations, Descriptions and SEO Texts Written From the Product’s Own Facts

A catalogue of thousands of technical products arrives in one language, with uneven descriptions and no SEO texts. The hub behind the Ezeden store fills the gaps with AI - but only from facts the catalogue already holds, at a price a manager has seen, and with a person approving what matters.