{
  "id": 15259958,
  "title": "Building a Product Catalogue That Looks Like One Brand, Not a Junk Drawer",
  "url": "https://urgent.news/2026/10/17/building-a-product-catalogue-that-looks-like-one-brand-not-a-junk",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-17T19:00:36.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/revanzart/building-a-product-catalogue-that-looks-like-one-brand-not-a-junk-drawer-h5f"
  },
  "original_language": "en",
  "account": "Last spring, the author opened their Gumroad dashboard alongside 40 finished products, feeling embarrassed by the erratic appearance of the catalog. Each product had a different cover design, including dark blue with serif type, neon green with clip art, and a screenshot of a zip file. A buyer even inquired if all the items were from the same shop, which prompted the author to reevaluate their approach to packaging and treat the catalogue as a single product with multiple SKUs. The key to this mental shift was understanding that buyers evaluate the shop as a whole, not individual zips. To achieve consistency, the author implemented a single template for covers and used a single script, pack_product.py, to render every cover and thumbnail using the same Pillow code path, font, and layout. This resulted in interchangeable covers, making it easy for buyers to recognize similar products at a glance. The author also adopted a strict naming and folder structure to prevent the catalogue from becoming a \"junk drawer.\" Filenames became titles, and research notes were kept forever to avoid losing valuable material for future products. To cater to various stock platforms, the author created make_metadata.py to generate CSV files with the exact headers required by each platform, ensuring a smooth upload process. The author extended their catalogue to include documents like guides and checklists by converting Markdown files to PDFs using md2pdf.py, which maintains consistent typography across all products. To keep the server running smoothly and avoid getting accounts flagged, the author built upload_tracker.py to track posted and pending items, preventing duplicate uploads. The entire pipeline consists of four standalone Python scripts, Pillow, and reportlab, allowing sellers to create a consistent and professional catalogue with minimal resources.",
  "summary": "Last spring I opened my Gumroad dashboard next to a folder of 40 finished products and felt embarrassed. The products were fine. The catalogue looked like forty strangers had made them. One cover was dark blue with serif type, one was neon green with clip art, one was just a screenshot of a zip file. A buyer emailed me asking if all of it was really from the same shop. That was the moment I…",
  "key_points": [
    "Author reevaluated product catalog appearance, aiming for cohesive brand.",
    "Implemented single template and script (packproduct.py) for consistent covers.",
    "Created uploadtracker.py to prevent duplicate uploads and maintain server health."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}