EVAI CONSULTING EVAI-CASE-2026-03 · v1.0

Product card pipeline for Prom.ua

Decor and tableware e-commerce store in Ukraine, 2026. Stage 1 delivered.

1.0

The task

The store sells and rents out decor, tableware and furniture: about 1,500 products on Prom.ua and a WordPress site. New products arrive as supplier price lists in Excel. Every card was created by hand: find the product by its picture, come up with a name, translate it into Ukrainian, calculate the price, fill in the attributes. The assessment estimated at least 40 minutes per card.

The assessment found three more manual areas: Ukrainian on the website as required by law, rental tracking, and market research before purchasing. The work was split into stages, each delivered separately. The card pipeline came first as the most time-consuming.

2.0

What was done

The pipeline is written in Python with a Streamlit interface and starts with a double click on the client's computer. The three suppliers' price lists differ: photos embedded in the file, Alibaba links instead of photos, colour inside the description text. Each format got its own parser. Columns are matched through a synonym dictionary, so a typo in a price list header does not break parsing.

Pipeline interface: product table with prices and check status

Every product gets an SKU with a category prefix, and the code is kept when the same product arrives again. Ten categories are mapped to Prom.ua attributes. The price is calculated from purchase cost, delivery, the NBU exchange rate and margin, with settings editable in the interface. Names, descriptions and search queries in Russian and Ukrainian are written by an LLM (Claude or the free Gemini Flash); when a price list has no product name, the product is identified from its photo. Before export, a check shows blocking errors and warnings. The output is a Prom.ua import file and a WooCommerce CSV. Upload to Prom.ua is done by a person, which makes the first iteration easier to check and roll back.

01 supplier price list Excel 02 format parsing 3 suppliers 03 SKU, category, price 04 LLM: name and description RU and UA 05 check before export errors and warnings 06 Prom.ua import file and WooCommerce CSV 07 a person uploads to Prom.ua defect in text fix in generation code new version
3.0

Quality checks

The pipeline went through 20 versions. Texts were checked by a separate audit by defect type: mixed languages, gender agreement errors, banned marketing phrases, foreign colours in keywords, repetitive descriptions. Each defect was fixed in the generation code; manual edits to finished texts were not allowed. The code is covered by 17 automated tests. The final version builds import files for 169 items with colour variants.

4.0

Result

Stage 1 was delivered to the client. Time per card with the pipeline was not measured in the store's daily work.

5.0

What carries over today

A universal parser for any price list does not pay off: every new format needs its own parser. A template agreed with suppliers or data via API costs less, and that choice is made during solution design. An LLM description covers baseline quality; the text that sells is polished by a person. The check goes before export, while an error still costs nothing.

Discuss a similar task:

free 30-minute call →