PL
All case studies

A product catalogue that lays itself out from a spreadsheet and photos

321 pages in any number of languages, assembled from a spreadsheet and a photo repository instead of by hand in InDesign.

Role authorStack Python, Excel (template), HTML/CSS, Chromium (PDF), PIM data, browser dashboardStatus in production, catalogue published

Problem

The product catalogue in six languages was laid out by hand in InDesign. Every data change meant a fix in every language version, and the work was spread across several people. A first edition in that mode took a month to a month and a half.

What I built

A product database in Excel and a photo repository feed a Python generator that assembles pages in HTML/CSS, and Chromium prints them to PDF. A browser dashboard runs the stages: data check, layout, export. A separate skill supervises data entry: translations, variants, error checks.

Result

321 pages. First edition in two weeks instead of a month to a month and a half, later editions much faster. Adding a language changes neither the tools nor the generation time. The designer does the layout and photos, one person enters the data, and a change in the sheet lands in every version at once.

How it works

The page layout is an HTML/CSS template. A typography or grid change is one fix in the template, not in 321 pages.

Screenshots

Catalogue cover
Cover
Introductory spread
Introductory spread
Product spread: car seat system
Product page: data, variants and photos from the sheet and repository
Product spread: stroller
Product page with a feature list generated from data
Catalogue dashboard in the browser: layout and preview
Dashboard: layout and preview, run log
Catalogue dashboard: photo repository
Dashboard: tidying the photo repository