Sklep internetowy z dekoracjami i zastawą na Ukrainie, 2026. Etap 1 przekazany.
Sklep sprzedaje i wynajmuje dekoracje, zastawę i meble: około 1500 produktów na Prom.ua i strona na WordPressie. Nowe produkty przychodzą jako cenniki dostawców w Excelu. Każdą kartę zakładano ręcznie: znaleźć produkt po zdjęciu, wymyślić nazwę, przetłumaczyć na ukraiński, policzyć cenę, wypełnić cechy. Według oceny z analizy jedna karta zajmowała co najmniej 40 minut.
Analiza wskazała jeszcze trzy ręczne obszary: język ukraiński na stronie wymagany przez prawo, ewidencję wynajmu i analizę rynku przed zakupem. Pracę podzielono na etapy, każdy oddawany osobno. Najpierw potok kart jako najbardziej czasochłonny.
Potok w Pythonie z interfejsem Streamlit uruchamia się dwuklikiem na komputerze klienta. Cenniki trzech dostawców są różne: zdjęcia w pliku, linki do Alibaby zamiast zdjęć, kolor w treści opisu. Każdy format dostał własny parser. Kolumny są dopasowywane według słownika synonimów, więc literówka w nagłówku cennika nie psuje odczytu.
Każdy produkt dostaje kod SKU z prefiksem kategorii, a przy ponownej dostawie kod zostaje ten sam. Dziesięć kategorii jest powiązanych z cechami Prom.ua. Cena liczy się z kosztu zakupu, dostawy, kursu NBU i marży, ustawienia zmienia się w interfejsie. Nazwy, opisy i frazy wyszukiwania po rosyjsku i ukraińsku pisze LLM (Claude albo bezpłatny Gemini Flash); gdy w cenniku brakuje nazwy, produkt jest rozpoznawany po zdjęciu. Przed eksportem kontrola pokazuje błędy blokujące i ostrzeżenia. Na wyjściu plik importu Prom.ua i CSV dla WooCommerce. Wgranie na Prom.ua robi człowiek: pierwszą iterację łatwiej wtedy sprawdzić i wycofać.
Potok przeszedł 20 wersji. Teksty sprawdzał osobny audyt według typów błędów: mieszanie języków, błędy zgodności rodzaju, zakazane zwroty reklamowe, obce kolory w słowach kluczowych, powtarzalne opisy. Znaleziony błąd poprawiano w kodzie generowania, ręczne poprawki gotowych tekstów były wykluczone. Kod pokrywa 17 testów automatycznych. Ostatnia wersja tworzy pliki importu dla 169 pozycji z wariantami kolorów.
Etap 1 przekazano klientowi. Czasu na kartę z potokiem w codziennej pracy sklepu nie mierzono.
Uniwersalny parser dowolnych cenników się nie opłaca: każdy nowy format wymaga własnego parsera. Taniej uzgodnić z dostawcami szablon albo pobierać dane przez API, a ten wybór zapada na etapie projektowania rozwiązania. Opis z LLM zapewnia jakość bazową, tekst, który sprzedaje, szlifuje człowiek. Kontrola stoi przed eksportem, póki błąd jeszcze nic nie kosztuje.