Python dev to build a product-feed generator (TSV, Google Shopping-style)
Budżet: $10.0 - $14.0
HOURLY / PART_TIME
⭐ 0.00 (0)
United Kingdom
api-integration, python, etl, postgresql, google-shopping
TITLE: Python dev — build a product feed generator (Miinto TSV, Google-Shopping-style)
ABOUT THE WORK
We sell across several European marketplaces and are bringing our product feeds
in-house. First project: a generator that turns our product data into a valid
Miinto product feed and serves it for Miinto to fetch. Miinto provides a feed
validation tool (FAS) and we have a reference feed, so "done" is objectively
measurable. Self-contained; if it goes well there's ongoing feed work for other
marketplaces.
WHAT YOU'LL BUILD (Python)
1. A feed generator: read product/variant rows we provide (a sample file +
a field-to-column mapping spec) and emit a valid Miinto feed:
• TSV, UTF-8, Unix line endings, header row, case-sensitive column names
• One row per variant; variants of a product share item_group_id
• Dynamic columns driven by config: one price column per currency
(c:retail_price_CUR:integer) and per-language title/description columns
• Prices as integers with cents embedded (1000.99 to "100099"); empty,
never 0, when absent
• Multiline descriptions quoted; image URLs percent-encoded
• ALL mandatory + optional columns present in the header
2. Hosting: serve the file at a fixed URL over HTTPS with HTTP Basic Auth.
3. Validation: the feed must pass Miinto's FAS (Feed Analysis Service) tool
with no blocking errors, and match the structure of the reference feed.
You do NOT need product/catalogue knowledge: category mapping, colour/size
normalization, titles and translations are resolved on our side and handed to
you as values + a mapping spec. Your job is the transform, hosting and validation.
ACCEPTANCE CRITERIA
• Generates from the sample data via a single command, no errors.
• Passes Miinto FAS with no blocking errors.
• Output column set + structure match the reference feed and Miinto's spec.
• Currencies/languages are config-driven (adding a market = config change).
• Clean, documented Python; unit tests for the transform (price encoding,
quoting, URL-encoding, dynamic columns, variant grouping).
• Delivered as Pull Requests in a private GitHub repo we provide.
YOU MUST HAVE
• Strong Python (data transformation; CSV/TSV; precise text/encoding handling).
• Experience with product/marketplace feeds (Miinto, Google Shopping, Mirakl,
Channable/Koongo-style, or similar).
• Git / GitHub Pull Request workflow.
• Careful, test-first style — correctness of encoding and structure is the job.
NICE TO HAVE
• Prior Miinto experience.
• Postgres / SQL (production source is a database view).
HOW WE WORK
• You work in a private repo we provide (spec, sample data, interface stub,
acceptance criteria, Miinto docs). You open PRs; we review inline.
• You self-validate with Miinto's FAS tool — no marketplace credentials needed.
ENGAGEMENT
Fixed-price, milestone-based.
PLEASE INCLUDE IN YOUR PROPOSAL
1. A product feed you've built — and how you validated the output was correct.
2. How would you make currencies/languages config-driven, and what unit tests
would you write for a feed transform?
3. Your estimate (hours / price) for the work above.
Otwórz na Upwork