Shopify Migration • Python Automation • Price Intelligence
Beauty Corner.
A Greek beauty marketplace rebuilt on Shopify with a cleaner luxury storefront, automated supplier operations, and a custom price-intelligence feed built for a deep fragrance and cosmetics catalog.

Not just a storefront. A commerce operating system.
Beauty Corner needed more than a visual migration. The old CS-Cart setup created broken URLs, feed issues, duplicate product risk, and slow catalog operations. I moved the store to Shopify and built the surrounding automation needed to manage a beauty and fragrance marketplace at scale.
The work connected storefront UX, supplier product data, marketplace feeds, image sourcing, tracking, and AI-assisted shopping into one cleaner Shopify foundation.
A 30-day window that proves the rebuild.
The migration was never just a visual cleanup. Across a single 30-day window the rebuilt store moved close to €15K in sales from 314 orders, pulled 13.5K sessions, and held a healthy conversion rate — on a deep catalog that used to be slow to operate.
Shopify analytics: 25 May – 24 Jun 2026.Premium navigation for a deep beauty catalog.
The storefront direction focused on fast discovery: strong search, clear category paths, luxury fragrance merchandising, brand browsing, and mega menus inspired by high-end beauty retail.

Automation engine
- CS-Cart to Shopify migration with product, collection, URL, and feed cleanup.
- Python + GraphQL Admin API scripts for SKU prefixes, duplicate cleanup, stock sync, and supplier pricing.
- Custom Google Merchant Center and Skroutz XML feeds hosted from the VPS for cleaner marketplace control.
- Image scraping pipeline with ScraperAPI, Claude Haiku verification, and missing-image reporting.
Python handled the work Shopify apps could not own cleanly.
Supplier files were matched by barcode/EAN, SKU prefixes were enforced, testers stayed separate, and price/stock changes could be processed through safer delta workflows.
A Flask dashboard, BeautyCorner Hub, added drag-and-drop uploads, background job threading, and live logs so operational tasks could run without fragile manual steps.
A custom price feed that watches the whole Greek market.
With a catalog this large, manual price checks do not scale. I built a custom multi-source price feed that matches every product by EAN and pulls live Greek-market prices, so margins are set against real competition instead of guesswork — you can see who is undercutting you and by how much.
Every Greek merchant carrying the exact item — the full offer list with each shop and price, plus the lowest price and who is holding it.
The Greek price-comparison engine, read for the lowest live shop price on the exact matched product variant.
Built to fail closed
- Matches every product by EAN / barcode, then a strict size-aware fuzzy title check.
- Rejects samples, decants, vials, and gift sets in both Greek and English.
- Drops offers of a clearly different size or suspicious low-price outliers.
- Fails closed — a blank beats a wrong price, so a cheap decant never poisons the lowest market price.
What it appends per product
- Lowest market price and which source it came from.
- Google lowest price, the merchant who has it, and the number of offers.
- The full merchant offer list captured for the item.
- Skroutz price and link for the matched variant.
Brand discovery made easier for a large catalog.
The All Brands page gives shoppers a cleaner way to find a beauty house quickly, move through alphabetized brand groups, and jump from discovery into the right product collection.
For a marketplace-style beauty store, that page matters because many customers already know the brand they want. The interface keeps that path direct instead of forcing them through search.




