Data Platform
The Marble Group: Natural Stone Inventory Intelligence Platform for UK Stone Buyers
Inventory management software development unifying 10 UK stone suppliers in one dashboard: automated price reconciliation, stock alerts, PDF/Excel export.
Django
Docker
PostgreSQL
Python
Redis
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.
More Work