Problem
A facilities-services team rebuilt the same account-review decks by hand every reporting cycle — copying operational numbers (inspections, service requests, quotes) out of spreadsheets into dozens of formatted slides, per site, across several national accounts.
Approach
A pipeline that reads the master and per-site spreadsheets, computes the reporting metrics, renders each view as an HTML dashboard, screenshots those in a headless browser, and assembles them into a finished, consistently-branded slide deck. The operator runs one command instead of editing slides.
Stack
A Python analytics step (with Power Query for the source sheets), a Node.js deck builder using pptxgenjs, Playwright to render HTML dashboards into slide-ready images, and Sharp for image processing — driven by a templated slide library so every deck looks the same.
What shipped
An end-to-end build script that produces the full deck straight from the spreadsheets, covering several national accounts with per-site breakdowns — turning a recurring slide-building chore into a single run.
What’s next
Push more of the layout into the templates so a new account format needs no code changes.