{
  "id": 18305103,
  "title": "The Four-Script Philosophy: How Fewer Tools Shipped 39 Stock Products",
  "url": "https://urgent.news/2026/11/05/the-four-script-philosophy-how-fewer-tools-shipped-39-stock-products",
  "topic": "finance",
  "section": "Finance & Markets",
  "published": "2026-11-05T12:42:19.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/revanzart/the-four-script-philosophy-how-fewer-tools-shipped-39-stock-products-116j"
  },
  "original_language": "en",
  "account": "The author experienced a critical loss of work due to an incorrect CSV column count in a batch upload, which led to the rejection of every row. This incident prompted the author to stop writing new tools and focus on deleting existing ones. Eventually, the author ended up with four scripts that packaged 39 finished products and consumed minimal resources on a server with 1 vCPU, 2 GB RAM, and no GPU. The author learned that metadata issues are not creative problems but formatting ones, and that different platforms require different CSV header formats. To address this, the author created a script called make_metadata.py, which generates the exact header each platform demands without any additional formatting. The author also created upload_tracker.py to prevent double-posting by keeping track of submitted assets and ensuring that only pending files are uploaded. The author also emphasized the importance of converting metadata to a sellable product, using two simple scripts, md2pdf.py and pack_product.py, to create styled PDFs and packaged zips with covers. By using a minimal server and adhering to strict folder layouts, the author was able to develop a robust pipeline that produced high-quality products with fewer tools.",
  "summary": "The night I lost three hours of work, I was on my third re-run of a batch upload. My CSV had the wrong column count for Vecteezy, four columns instead of the five I'd copy-pasted from an Adobe template, and every row got rejected. Then I fixed it, re-ran, and realized I had no idea which files from the previous attempt had actually gone through. I was about to double-post to Adobe, which is the…",
  "key_points": [
    "Author experienced critical loss due to CSV column count error",
    "Created four scripts to package 39 finished products",
    "Minimal server setup achieved robust product pipeline"
  ],
  "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."
}