How a Perth web development project grew into a custom RFQ system and a 35,268-page SEO catalog — extracted from 13 PDFs across 13 drill rig models.
Equipment Group came to Source Digital needing a website that matched the professionalism of their operation. They supply spare parts to mining companies globally — the kind of business where first impressions and technical credibility matter.
We built a full custom dark-theme site from scratch. No templates, no page builders. The design system used Fraunces for display headings, DM Mono for technical part data, and a restrained blue accent that reads cleanly in industrial environments.
The homepage includes a world map built with D3.js and TopoJSON — a canvas-rendered interactive showing Equipment Group's 24 service countries, with animated pulse rings on hover. Hero video, scan-line icon animations, and three supporting pages rounded out the build.
With the site live, the next challenge was adding genuine utility. The Atlas Copco SmartROC T45 spare parts catalog existed only as a PDF. We extracted 3,927 parts, built a structured JavaScript data file, and uploaded all assembly diagram images to Shopify CDN.
The centrepiece was the RFQ system — built entirely from scratch. A quote drawer that slides in from the right. Customers search, add parts with quantities, and build a quote list that persists across page navigation via localStorage. No lost quotes.
Submit fires a mailto: link first — opening Outlook, Apple Mail, or whatever the customer has. If nothing opens within 800ms, Gmail opens automatically with the full quote pre-formatted. Works on every device, every browser, every email setup.
mailto: first, then opens Gmail 800ms later as a fallback — so the quote always reaches the client regardless of device or setup.The T45 catalog proved what was possible. The client wanted to scale to their full product range. What followed was the largest static site generation project Source Digital has undertaken.
Thirteen machines. Thirteen PDFs. Four completely different proprietary documentation formats from different Epiroc and Atlas Copco internal systems. No existing digital data. No shared structure between formats.
We wrote custom Python extraction scripts for each format — pulling part numbers, descriptions, assembly groupings, reference numbers, quantities, specifications, and embedded diagram images directly from the PDFs. 76,770 raw part records and 4,041 images extracted. Zero rows entered manually.
After deduplication, 31,354 unique products imported to Shopify. A cross-machine image lookup built — a part appearing in 7 assemblies across 3 machines gets all 7 relevant diagrams. 433 blank and corrupt images automatically detected and excluded.
Then a custom Python static site generator produced 35,268 fully self-contained HTML pages. Every page generated with unique SEO markup, JSON-LD structured data, part numbers in all 3 search formats, up to 15 assembly diagrams, and the full RFQ system.
The RFQ system was extended for the new page types — assembly pages let customers add all parts in an assembly with one click. Button states restore from localStorage on page load. Quote persists across all 35,268 pages.
62,708 redirect rules ensure every possible URL format resolves correctly. Netlify's CDN diffing means subsequent deploys only push files that actually changed — typically 2,000–5,000 files rather than all 35,000.
Full scope across all three phases.
| Metric | Phase 2 (T45) | Phase 3 (All Machines) | Total |
|---|---|---|---|
| PDFs processed | 1 | 13 | 13 |
| Parts | 3,927 | +27,427 | 31,354 |
| Pages generated | 3,927 | +31,341 | 35,268 |
| Multi-image parts | 753 | 10,890 | 10,890 |
| Redirect rules | ~7,854 | 62,708 | 62,708 |
| Keyword variants | ~11,781 | 94,062 | 94,062 |
| Machines covered | 1 | 13 | 13 |
Mining maintenance engineers search Google for part numbers when machines are down. That's the highest-intent query on the internet. Equipment Group now has a dedicated page for 94,062 of them.
Every component was chosen for performance, maintainability, and cost. The entire site is static HTML — no CMS overhead, no database queries, no plugin vulnerabilities. It loads fast, ranks well, and costs almost nothing to host.
Product data locked in PDFs, spreadsheets, or legacy systems? We build data pipelines, custom RFQ systems, and SEO-optimised pages at scale.