Python dev to build a product-feed generator (TSV, Google Shopping-style)
Worldwide
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.
- Less than 30 hrs/weekHourly
- < 1 monthDuration
- ExpertExperience Level
$10.00
-
$14.00
Hourly- Remote Job
- One-time projectProject Type
Skills and Expertise
Activity on this job
- Proposals:10 to 15
- Last viewed by client:last week
- Hires:1
- Interviewing:2
- Invites sent:2
- Unanswered invites:0
About the client
- United KingdomBirmingham6:35 AM
- $250 total spent1 hire, 0 active
- Tech & ITIndividual client
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by