An internal StudioApps tool for creating, managing and uploading 1,000+ products into multi-store Magento instances. From scraping a PDF catalogue, through AI enrichment of descriptions and translations, to a batch REST API push across 6 domains at once. An e-commerce manager drops in 100 products in the morning — and ends the day with live stock in 3 countries.
A store switcher at the top of the panel — 6 Magento instances (PL/AT/DE) as tabs. Every click gives you a full product inventory with an SEO score per product. 4,484 products live across the stores · 13 missing descriptions · 288 missing meta titles · 55 average SEO score — you know straight away what to fix this week. (4,484 = active products across all 6 Magento instances. 1,064 = unique SKUs in the PIM database — because the same product often appears in several stores.)
Numbers taken from a genuine agent report on the live project — verifiable under NDA. As of 2026-05-06.
The Magento stores are full, but where do the products come from? From distributors. Each distributor (TechDrive, Solarex, NovaCore Systems, NovaEnergy) has its own product portfolio with categories in Product Hub: Inverters, Mounting systems (Pitched, Hybrid), Energy storage, Switchgear, PV panels, Reactive power compensators, DC cabling, Accessories. Click "Energy storage (12)" in the sidebar category tree → you see only the products in that category from that distributor.
The operator never copies data by hand. They drop in a PDF / URL / Excel file → Product Hub fires up a 4-layer scraper + AI enrichment + Magento push. Job-based architecture with a retry on every step.
Every product gets a unique SKU following the pattern PRD-AAA-BBB-CCC-000-111-222-D-2-1S — category, distributor, brand, attribute, variant. Click a SKU → the full mapping: production URL, invoice name (for invoicing), store name (for Magento), change history.
Designed for a product manager handling multi-supplier dropshipping plus seasonal imports. 1,000+ SKUs per season in 2-4 country versions. No spreadsheet mafia, no "copy-paste from the PDF".
Upload PDF catalogues → automatic text extraction + base64 images → Claude vision on the specification tables. Dimensions 80×120×60 cm, Weight 15 kg, Output 5 kW — pulled automatically out of the supplier's PDF.
JSON-LD (structured data) → OpenGraph (meta tags) → HTML parsing → AI fallback. Every supplier site is built differently — the scraper burns through all 4 layers until it gets the data out.
Claude (long descriptions, natural prose) + Gemini (PL/DE/AT translations, cheaper above 100k tokens). Provider swap at every pipeline step — the operator decides.
6 Magento stores (3 B2C brands × PL/AT/DE markets + 2 DACH stores + 1 AT — stores anonymised in the UI). Pushes products, categories, inventory and prices. SKU uniqueness per store, attribute_set_id per country.
scrape_jobs, ai_enrichment_jobs and magento_product_edits tracked in the database. Retry logic on every step (3 attempts), status monitoring, an audit trail per operation. Who did what and when — always on record.
Each distributor has its own category portfolio (Inverters, Mounting systems, Storage, Switchgear, PV, Compensators, Cabling, Accessories) with live counters. Mapped onto store-specific Magento categories.
Per store and per product: missing description, missing meta title, missing images, SEO score 0-100. A "Quick Wins" list — products one point away from the top 3 in the SERP. Fix prompt in one click.
Product Hub lives in the same database as Fenster-Haus and AT Installers. Row-level security per table — sku_entries read-only for AT Installers, at_installers read-only for the Hub. Zero crosstalk, one quota.
PRD-AAA-BBB-CCC-000-111-222-D-2-1S = category (3) - distributor (3) - brand (3) - attribute (3) - 3 numeric segments - variant - size - option. Every SKU tells you what it stands for.
Product Hub manages products for 6 Magento instances across 3 markets — all under NDA, the clients require anonymity. The stores are shown under fictional names in the UI.
"Push 100 products into Magento instead of adding them one by one — a 4-layer scraper, AI descriptions and translations, batch push with retry logic."
The standard StudioApps stack. Product Hub runs on the same Vercel deployment and Supabase project as Fenster-Haus and AT Installers — 3 products in one deployment, hosting cost zero.
It has been running in production for months, but not everything is finished. Some things exist as backend functions with no UI on top. Others are on the backlog — we do not pretend otherwise.
createMagentoProduct() function exists in the code but is not wired up to the interface. The operator has to export as JSON and upload through the Magento admin.
magento-push/[productId] endpoint handles one product at a time. There is no spreadsheet view with a bulk "Upload all" button.
A no-obligation conversation: 30 minutes, a screenshare from production, and you will see us push 100 products into 6 stores in half an hour instead of a week.