Cartwise

Porovnávač cien, ako je napríklad Heureka.sk, ukáže najlacnejšiu ponuku pre jeden produkt. Pri nákupe viacerých produktov naraz sa však stretávame s niekoľkými problémami:
- Nestačí posudzovať každý produkt zvlášť. Súčet najnižších cien nie je reálny košík – pri nákupe v troch obchodoch zaplatíme trikrát dopravu.
- Zistiť, či existuje obchod, ktorý má na sklade všetky položky, je od určitého množstva produktov takmer nemožné.
- Sú obchody, v ktorých napriek najnižšej cene nie sme ochotní nakupovať.
Preto sme vyvinuli Cartwise, vlastné rozšírenie pre Google Chrome, ktoré nájde najlacnejší spôsob, ako kúpiť celý košík – z jedného e-shopu alebo rozdelený medzi viacero, s ohľadom na dopravu.
Produkty sa pridávajú tlačidlom priamo na stránke produktu na Heureka.sk. Rozšírenie samo stiahne ponuky všetkých e-shopov spolu s možnosťami doručenia a na stránke košíka ukáže najlacnejší nákup z jedného e-shopu (ak taký existuje) a päť najlacnejších alternatív.
Výsledok si používateľ môže upraviť: doplniť cenu dopravy a hranicu dopravy zdarma z poznámky e-shopu (rozšírenie si ich pamätá aj pre ďalšie nákupy), opraviť cenu produktu, ak ju e-shop uvádza inak ako Heureka, alebo vyradiť nedostupnú ponuku či celý e-shop. Poradie sa po každej úprave okamžite prepočíta.
Jadrom je výkonný optimalizačný algoritmus: úlohu rieši ako problém umiestnenia zariadení (facility location), známy napríklad z plánovania skladov, metódou vetiev a hraníc (branch and bound). Reálny košík so siedmimi produktmi a 42 e-shopmi pripúšťa vyše 38 miliónov možných priradení, algoritmus z nich však vyhodnotí len 107 a výsledok má za necelých 5 ms. Pri neobvykle veľkých košíkoch prejde na rýchlejší približný postup a stránka na to upozorní.
Rozšírenie nemá vlastný server a všetky údaje zostávajú v prehliadači používateľa. Využíva Manifest V3. Podrobnosti sú v zásadách ochrany súkromia(otvorí sa na novej karte).
Technológie:
Frontend: JavaScript, HTML, CSS
Ostatné: Chrome Extensions API (Manifest V3), GraphQL, Node.js test runner, Playwright