10
UK Suppliers Integrated
50+
Raw Stone Types Normalised
100%
Automated Supplier Price Reconciliation
The Problem

Stone Buyers Waste 15+ Hours Every Week on Manual Research

Inventory management software development was the missing link for the UK natural stone trade, a market fragmented across dozens of independent wholesalers, each running a completely custom inventory system. Some suppliers run Algolia-powered catalogue search. Others require full browser automation through login walls with infinite scroll. Others expose internal REST or JSON APIs with no public documentation. And others serve classic paginated HTML. Buyers and trade professionals had no way to compare inventory or pricing across suppliers without visiting each site individually and manually reconciling data, a process measured in hours, not minutes. Price lists arrived as Excel files that had to be manually cross-referenced against product pages. There was no single source of truth.
Our Solution

An Async Scraping Platform Purpose-Built for Natural Stone

The Marble Group's platform is built around a Django application with a dedicated scraper module for each of the 10 suppliers, all feeding into a single normalised PostgreSQL schema. Each scraper uses the right tool for the job: Playwright with authenticated sessions and infinite scroll detection for Slabware-platform suppliers, async aiohttp with BeautifulSoup for REST/HTML endpoints, and Algolia API integration for catalogue-search-backed suppliers. A shared normalisation layer standardises every incoming record before it touches the database, mapping raw stone type strings and finish names to canonical values via case-normalised lookup tables with 50+ and 60+ entries respectively. A web dashboard exposes the aggregated inventory with filtering. A price reconciliation module accepts uploaded supplier Excel price lists, matches rows by name and thickness, and updates price fields in bulk. PDF and colour-highlighted Excel exports are generated. Discord webhooks deliver scraper run summaries.
Architecture
Django 5 + Django REST Framework API. PostgreSQL database with Supplier, StoneItemFormatted, StoneItemImage, and SupplierPDF models. Celery for scheduled scraper runs. Playwright (headless Chromium) for authenticated browser automation. async aiohttp with 10 concurrent connections for high-throughput detail fetching. BeautifulSoup HTML parsing. pandas + openpyxl for Excel price list reconciliation. ReportLab for PDF generation. Discord webhook notifications per scraper run.
The Result

15+ Hours Saved Weekly, One Dashboard Replaces 10 Supplier Portals

The platform saved The Marble Group's buying team 15+ hours every week by replacing fragmented manual research across 10 UK supplier websites with a single live dashboard. All 10 UK suppliers are automatically scraped on schedule, with normalised stone types and finish categories enabling direct cross-supplier price and availability comparisons that were previously impossible without hours of manual work. The automated price reconciliation tool eliminated the Excel-matching workflow entirely. Buyers upload one price list and the system updates hundreds of product records in seconds, a task that previously took the better part of a day. Instant Discord alerts fire the moment any supplier changes a price or stock level, ensuring every buying decision is made on the freshest available data. If your business needs similar web scraping or inventory management software built to unify data from multiple external suppliers or platforms, our team can scope it the same way.
Want scalable architecture and measurable results like this?
Book an Architecture Audit
Build Something Like This
// free scoping call · senior engineers · no commitment

Project scope, timelines, and architecture options in one 45-minute session.

Start a Project
More Work

Related Projects

Farming Product Monitor: Real-Time Agricultural Price & Stock Intelligence for Pakistani Markets
Django Node.js PostgreSQL
Farming Product Monitor: Real-Time Agricultural Price & Stock Intelligence for Pakistani Markets
Competitor price monitoring tool: instant Discord alerts on price and stock changes across Kissanghar.pk and Syngenta Pakistan, full history, stealth scraping.
View Details
SlateDesk: Film & TV Talent Submission Management, From Public Pitch Link to Structured Deal Pipeline
Django Material UI PostgreSQL
SlateDesk: Film & TV Talent Submission Management, From Public Pitch Link to Structured Deal Pipeline
A talent management platform for film and TV: public submission links, internal pipeline, meeting scheduling, contact management, and Stripe subscription tiers.
View Details
Global Freight Tracking API: Track 30+ Air & Sea Carriers, One Call, One Standard Response
Django Docker PostgreSQL
Global Freight Tracking API: Track 30+ Air & Sea Carriers, One Call, One Standard Response
Freight tracking API replacing 30+ carrier portal checks with one call: real-time AWB and container tracking, standardised JSON, audio CAPTCHA bypass included.
View Details