Upgates AI Translator
Translate product content while preserving markup and keeping an operator in control.
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.
- 01Read catalogueUpgates API → product HTML
- 02Translate textPreserve tags, attributes and placeholders
- 03Review & approveOperator checks the proposed content
- 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.
<p class="product">Dřevěná pergola <strong>3 × 4 m</strong>. Doručení: {{delivery_days}}.</p>- 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.
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.