What I fixed
Five cases from live operation. Always in the same order: what was wrong, what I built and what could be measured afterwards. Where I do not name the client, it is because I do not have their consent — the numbers are real.
A feed that lied about stock
LiveProblem: The shop was sending goods to a price comparison site that were not in stock. Customers ordered, the shop cancelled and its rating fell. The “export in-stock only” switch was on — the filter had two leaks you could not see any other way than by comparing the feed against real stock.
Solution: A watchdog that pulls the feed every hour, compares it against real stock and fixes what it finds. It only ever corrects in one direction, so it can never turn zero into stock.
Result: 356 false items disappeared from the feed. On its first live run the watchdog found another frozen item that had appeared 15 minutes after a manual fix — which is exactly why a one-off cleanup is not enough.
Pages nobody had time to write
LiveProblem: Thousands of products with no description, no parameters and no image text. By hand it would take months no shop has a person for — and it dragged the content score down across the whole catalogue.
Solution: Descriptions, parameter tables and image text filled in straight from data the shop already holds. Every value written must have a traceable source, otherwise nothing is written at all. Text written by a human stays untouched.
Result: Across 1,313 pages the median content score rose from 65 to 88 — without a single description written by hand and without anything being overwritten blindly.
A photo of somebody else's product
LiveProblem: Automatic photo matching from an external catalogue looked like it searched by barcode. In reality it was ordinary full-text search, which returns the nearest other product for an unknown code — and that looks like a match.
Solution: Every candidate from an external catalogue now has to pass a check: either the model code from our title is found on the candidate, or the candidate carries our barcode. If neither holds, the page stays without a photo.
Result: Eighteen of 93 pages had the wrong product photo — a dehumidifier had a photo of Christmas lights. After the fix a foreign photo cannot reach a page, and a duplicate photo is recognised by the image, not by file size.
An assistant that answers from the catalogue
LiveProblem: Customers ask about availability, price or delivery in the evening and at weekends. By the time the answer arrives in the morning, the order has gone elsewhere. An ordinary chatbot only reads the text on the site, so it knows nothing about a specific product.
Solution: An assistant that answers from the real catalogue and stock, not from the text on the page. Price and availability come from the database, not from the model, and anything that cannot be backed by data never reaches the answer. When a human is needed, the conversation is handed over.
Result: Orders that came after a conversation with the assistant can be matched to specific carts — so they are measured, not guessed.
Harmony Home
LiveProblem: A cleaning company paid for a domain and hosting for years but had no website at all. For Google it effectively did not exist, so new customers had no way to find it.
Solution: A site with five separate service pages, so each is found by whoever is looking for that one thing. Plus traffic measurement and cookie consent by the book.
Result: 18 visits from Google in the first ten days out of 62 impressions — so almost one in three people who saw it clicked. Average position 4. Google indexed all five pages.
Apps and tools I build outside client work live in the Lab (in Slovak).
Send me your shop's address.
Tell me a few lines about what you need. Within a few hours you'll have a reply and a suggested next step — no commitment, plain language.
Get in touch
