E-commerce localisation / delivery case study

Upgates AI Translator

Translate product content while preserving markup and keeping an operator in control.

  • Python
  • FastAPI
  • React
  • OpenAI API
  • Upgates API
  • Docker

The business problem

Catalogue translation has to preserve product structure, brand names and placeholders, while giving the operator a chance to review changes before writing back.

My contribution

My role covered workflow definition, architecture, direction of AI-assisted implementation, service integration, testing and deployment. Platform and library authorship belongs to the third parties credited below; additional collaborators are not identified in the public project notes.

Upgates provides the catalogue API and OpenAI provides translation. FastAPI, React and HTML parsing libraries are existing tools.

Architecture & boundaries

A React review interface sits above a FastAPI service integrating the Upgates and OpenAI APIs. HTML-aware text processing, multi-shop configuration and live progress updates separate content transformation from catalogue writes.

  1. 01Read catalogueUpgates API → product HTML
  2. 02Translate textPreserve tags, attributes and placeholders
  3. 03Review & approveOperator checks the proposed content
  4. 04Write backAPI update only after approval

Labelled architecture overview, reconstructed from project documentation. This is not a production trace.

Inspect the workflow

Synthetic reference demo · no customer data, live calls, LLM requests or shop writes.

Source / synthetic product HTML
<p class="product">Dřevěná pergola <strong>3 × 4 m</strong>. Doručení: {{delivery_days}}.</p>
Waiting for a translation preview
  • HTML tags and attributes stay intact.
  • The delivery placeholder remains unchanged.
  • A simulated write requires a translated, approved preview.

The translation is a fixed fixture, not an LLM result. Production retry/resume and glossary behaviour require separate evidence.

Inspect the reference source on GitHub ↗

Failure paths & design decisions

Translation can damage inline markup or placeholders.

Translate text nodes while preserving HTML structure and protected values.

Evidence boundary: The downloadable reference has tests for tags, attributes, placeholders and escaped output.

A provider can rate-limit or interrupt a long batch.

The delivery notes describe rate-limit handling, retries and resumable processing.

Evidence boundary: Production retry logs and a resume recording are not published; these capabilities are not demonstrated by the browser sample.

A fluent translation can still be the wrong product copy.

Separate preview from write-back and keep a human approval step.

Evidence boundary: The browser demo prevents the simulated write until the sample has been reviewed and approved.

Delivery record

Status
Described as a Dockerised application in the project record; its authenticated shop interface is not publicly exposed.
Users & scope
Product and category translation across configured Upgates shops, with an operator review step.
Dates & usage
Delivery dates, active user count and current operating volume are not published.

Results & measurement gaps

Connects catalogue retrieval, translation, review and write-back in one workflow. Glossary, rate-limit and retry/resume handling are described in the project documentation; public throughput and quality measurements are not available.

No translation accuracy score, time-saving comparison or batch-throughput benchmark is published. The sample demonstrates structure preservation and review gating, not production translation quality.