Context
Pioneer Buzz needed to deliver weekly branded report cards to multiple clients — each report spanning 14 pages with custom charts, data tables, and tier-specific content. Doing this manually would take hours per brand. The goal was a fully automated pipeline: ingest data, compute scores, generate PDFs, ship.
What I built
I owned the visualisation and PDF generation layer, covering everything from data extraction to the final pixel-perfect PDF output.
End-to-end pipeline — An orchestration script ties the full flow together: Python extractors transform Excel data to JSON, a Node.js visualisation engine converts JSON to styled HTML, and pdfshift.io renders the HTML to a PDF.
Page Composer — A declarative page assembly system in Node.js with configurable page order, conditional logic for report tier (Basic/Plus/Premium) and market segments (retail/non-retail). The same engine produces different report variants without code duplication.
Data visualisation components — Bespoke charts with dynamic legend generation.
CSS system — Centralised JS-based CSS tuned specifically for PDF print output.
Automated test suite — Python tests for xlsx-to-JSON extraction, Node.js tests for JSON-to-HTML with brand snapshots for regression testing.
Outcome
A production pipeline on AWS EC2 running weekly, generating pixel-perfect multi-page branded PDFs across multiple report tiers and client segments — fully automated from Google Sheets data export to finished report.