DEV Community

Muhamad Revanza Rafif Hamdani profile picture

Muhamad Revanza Rafif Hamdani

404 bio not found

Joined Joined on 
One Pillow Script, Two Sizes: Cover Decisions Behind 39 Packaged Products

One Pillow Script, Two Sizes: Cover Decisions Behind 39 Packaged Products

Comments
4 min read
Two Dependencies Total: Pillow And Reportlab Are All Your Product Needs

Two Dependencies Total: Pillow And Reportlab Are All Your Product Needs

Comments
4 min read
The 1280 720 Lesson: Why a Zip Isn't Shippable Until It Has a Cover"**

The 1280 720 Lesson: Why a Zip Isn't Shippable Until It Has a Cover"**

Comments
4 min read
Two Lines in Requirements.txt: Pillow, Reportlab, and Nothing Else

Two Lines in Requirements.txt: Pillow, Reportlab, and Nothing Else

Comments
4 min read
Requirements.txt as Discipline: Stdlib-Only Scripts Need No Install

Requirements.txt as Discipline: Stdlib-Only Scripts Need No Install

Comments
4 min read
Two Packages, One 2 GB Server: Requirements.txt as Product Discipline

Two Packages, One 2 GB Server: Requirements.txt as Product Discipline

Comments
4 min read
Running a 39-Product Asset Pipeline on a 2 GB Single-Core VPS

Running a 39-Product Asset Pipeline on a 2 GB Single-Core VPS

Comments
4 min read
No GPU, No Cloud: Four Python Scripts That Package Stock Assets for Three Platforms

No GPU, No Cloud: Four Python Scripts That Package Stock Assets for Three Platforms

Comments
4 min read
Two Packages, One Server: Metadata CSVs, Covers and PDFs for 39 Products

Two Packages, One Server: Metadata CSVs, Covers and PDFs for 39 Products

Comments
3 min read
The Stdlib Ledger That Stops a Re-Run From Double-Posting Uploads

The Stdlib Ledger That Stops a Re-Run From Double-Posting Uploads

Comments
4 min read
Building Upload Tracker Ledger With Python Stdlib Before Your First Upload

Building Upload Tracker Ledger With Python Stdlib Before Your First Upload

Comments
1 min read
Stop Double-Posting Stock Assets With CSV Ledger That Remembers Every Upload

Stop Double-Posting Stock Assets With CSV Ledger That Remembers Every Upload

Comments
1 min read
Re-Running Your Upload Batch Can Flag Your Account: Ledger Prevents It

Re-Running Your Upload Batch Can Flag Your Account: Ledger Prevents It

Comments
1 min read
The 1280 720 Lesson: Why a Zip Isn't Shippable Until It Has a Cover"**

The 1280 720 Lesson: Why a Zip Isn't Shippable Until It Has a Cover"**

Comments
4 min read
My requirements.txt Has Exactly Two Lines: Pillow and reportlab — Here's What That Bought Me"**

My requirements.txt Has Exactly Two Lines: Pillow and reportlab — Here's What That Bought Me"**

Comments
3 min read
39 Products Packaged on a Single-Core 2 GB Server: Zero Dependencies for Half the Scripts"**

39 Products Packaged on a Single-Core 2 GB Server: Zero Dependencies for Half the Scripts"**

Comments
4 min read
Bloated requirements.txt Is a Red Flag: Why 'Just Two Packages' Tells Buyers You Actually Run This Code"**

Bloated requirements.txt Is a Red Flag: Why 'Just Two Packages' Tells Buyers You Actually Run This Code"**

Comments
4 min read
How shipping the exact scripts that packaged 39 products — not a tutorial — turns install friction into a sales pitch.

How shipping the exact scripts that packaged 39 products — not a tutorial — turns install friction into a sales pitch.

Comments
4 min read
Two Packages, Four Scripts, One 2 GB Server: Building an Upload Pipeline That Never Double-Posts**

Two Packages, Four Scripts, One 2 GB Server: Building an Upload Pipeline That Never Double-Posts**

Comments
4 min read
Zipping Product Archives For Backup When Your Asset Library Outgrows Your Disk

Zipping Product Archives For Backup When Your Asset Library Outgrows Your Disk

Comments
4 min read
Error Handling Lessons From Batching 39 Asset Products On A 2 GB Server

Error Handling Lessons From Batching 39 Asset Products On A 2 GB Server

Comments
4 min read
How My Metadata Script Skips Bad Files Instead Of Crashing A 300-File Run

How My Metadata Script Skips Bad Files Instead Of Crashing A 300-File Run

Comments
4 min read
Building A Retry-And-Log Pattern For Python Scripts That Process Hundreds Of Assets

Building A Retry-And-Log Pattern For Python Scripts That Process Hundreds Of Assets

Comments
4 min read
Running A 39-Product Asset Pipeline On A 2 GB VPS With No GPU

Running A 39-Product Asset Pipeline On A 2 GB VPS With No GPU

Comments
4 min read
Four Python Scripts That Package Stock Assets Without A Cloud Account

Four Python Scripts That Package Stock Assets Without A Cloud Account

Comments
4 min read
Why My Single-Core Server Handles Metadata, PDFs And Covers With Just Pillow And Reportlab

Why My Single-Core Server Handles Metadata, PDFs And Covers With Just Pillow And Reportlab

Comments
4 min read
The Two-Layer QC Setup That Kept 39 Generated Products Out Of The Reject Pile

The Two-Layer QC Setup That Kept 39 Generated Products Out Of The Reject Pile

Comments
4 min read
Documenting Your Asset Pipeline: Four Python Scripts That Turned One Batch Into 39 Products

Documenting Your Asset Pipeline: Four Python Scripts That Turned One Batch Into 39 Products

Comments
4 min read
How An Upload Tracker And Three Platform CSVs Kept My Stock Portfolio From Falling Apart

How An Upload Tracker And Three Platform CSVs Kept My Stock Portfolio From Falling Apart

Comments
4 min read
Writing Down The Boring Parts: Metadata CSVs, Double-Post Guards, And Product Packaging

Writing Down The Boring Parts: Metadata CSVs, Double-Post Guards, And Product Packaging

Comments
4 min read
From Prompt To Packaged Product In Under An Hour: The Four Scripts That Made 39 Stock Assets

From Prompt To Packaged Product In Under An Hour: The Four Scripts That Made 39 Stock Assets

Comments
4 min read
How I Turned One Prompt Engine Into 39 Sellable Products On A 2 GB Server

How I Turned One Prompt Engine Into 39 Sellable Products On A 2 GB Server

Comments
4 min read
Stop Double-Posting: A Python Ledger And CSV Builder For Adobe, Vecteezy And Dreamstime Uploads

Stop Double-Posting: A Python Ledger And CSV Builder For Adobe, Vecteezy And Dreamstime Uploads

Comments
4 min read
What I Refused To Automate Last In My 39-Product Asset Pipeline

What I Refused To Automate Last In My 39-Product Asset Pipeline

Comments
4 min read
The Human Checkpoints I Kept Before Uploading To Adobe, Vecteezy And Dreamstime

The Human Checkpoints I Kept Before Uploading To Adobe, Vecteezy And Dreamstime

Comments
4 min read
Where My Automation Stops: Judging Titles, Keywords And Covers By Hand

Where My Automation Stops: Judging Titles, Keywords And Covers By Hand

Comments 1
4 min read
Naming Vector Packs For Adobe And Vecteezy: What The Filename Field Actually Controls

Naming Vector Packs For Adobe And Vecteezy: What The Filename Field Actually Controls

Comments
4 min read
Backing Up 39 Products And Their CSVs On A 2 GB Single-Core Server

Backing Up 39 Products And Their CSVs On A 2 GB Single-Core Server

Comments
4 min read
How I Keep Upload Ledgers And Metadata CSVs Safe When Storage Runs Out

How I Keep Upload Ledgers And Metadata CSVs Safe When Storage Runs Out

Comments
4 min read
How upload_tracker.py Keeps a Re-Run From Double-Posting Your Stock Batch

How upload_tracker.py Keeps a Re-Run From Double-Posting Your Stock Batch

Comments
4 min read
The Simple Ledger That Stops Double-Posting on Adobe, Vecteezy and Dreamstime

The Simple Ledger That Stops Double-Posting on Adobe, Vecteezy and Dreamstime

Comments
4 min read
Why Running Your Asset Batch Twice Gets You Flagged, and the Script That Prevents It

Why Running Your Asset Batch Twice Gets You Flagged, and the Script That Prevents It

Comments
4 min read
How Four Python Scripts Turned One Asset Set Into 39 Products For Three Stock Platforms

How Four Python Scripts Turned One Asset Set Into 39 Products For Three Stock Platforms

Comments
4 min read
How I Built an Upload Ledger in Python That Stops Double-Posting Across Adobe, Vecteezy and Dreamstime

How I Built an Upload Ledger in Python That Stops Double-Posting Across Adobe, Vecteezy and Dreamstime

Comments
4 min read
A Stdlib-Only Upload Tracker: The Script That Keeps My 39-Product Batch From Re-Posting

A Stdlib-Only Upload Tracker: The Script That Keeps My 39-Product Batch From Re-Posting

Comments
4 min read
Why a 60-Line Python Ledger Is the Cheapest Way to Protect Your Stock Asset Accounts

Why a 60-Line Python Ledger Is the Cheapest Way to Protect Your Stock Asset Accounts

Comments
4 min read
The Three CSV Header Formats Adobe Vecteezy And Dreamstime Reject Instantly

The Three CSV Header Formats Adobe Vecteezy And Dreamstime Reject Instantly

Comments
4 min read
How I Automated Metadata CSVs For Adobe Vecteezy And Dreamstime In One Script

How I Automated Metadata CSVs For Adobe Vecteezy And Dreamstime In One Script

Comments
4 min read
Why One Wrong Column In Your Stock Upload CSV Gets The Whole Batch Rejected

Why One Wrong Column In Your Stock Upload CSV Gets The Whole Batch Rejected

Comments
4 min read
Scheduling Weekly Upload Batches Around A Day Job With A 2 Gb Server And Four Scripts

Scheduling Weekly Upload Batches Around A Day Job With A 2 Gb Server And Four Scripts

Comments
4 min read
How I Batch 39 Products On Weekends So Weeknight Uploads Take Minutes

How I Batch 39 Products On Weekends So Weeknight Uploads Take Minutes

Comments
4 min read
One Evening A Week: Packaging Metadata Covers And Upload Logs Without Double-Posting

One Evening A Week: Packaging Metadata Covers And Upload Logs Without Double-Posting

Comments
4 min read
Stop Rewriting CSVs: Generating Adobe, Vecteezy And Dreamstime Metadata From One Asset Folder

Stop Rewriting CSVs: Generating Adobe, Vecteezy And Dreamstime Metadata From One Asset Folder

1
Comments
4 min read
The Packaging Layer That Makes One Asset Sell Three Ways: Zips, Covers And 1280x720 Renders

The Packaging Layer That Makes One Asset Sell Three Ways: Zips, Covers And 1280x720 Renders

Comments
4 min read
Pricing Digital Asset Kits For Global Buyers: What 39 Products Taught Me About Tiered CSV Channels

Pricing Digital Asset Kits For Global Buyers: What 39 Products Taught Me About Tiered CSV Channels

Comments
5 min read
Setting One Price Across Adobe, Vecteezy And Dreamstime: The Metadata Tradeoffs Nobody Mentions

Setting One Price Across Adobe, Vecteezy And Dreamstime: The Metadata Tradeoffs Nobody Mentions

Comments
4 min read
How A 2 GB Server Shaped My Pricing For Digital Kits Sold To Buyers On Three Platforms

How A 2 GB Server Shaped My Pricing For Digital Kits Sold To Buyers On Three Platforms

Comments
4 min read
The Pre-Submit Checklist That Cut My Adobe Stock Rejections To Nearly Zero

The Pre-Submit Checklist That Cut My Adobe Stock Rejections To Nearly Zero

Comments
4 min read
Why Wrong CSV Headers Get Your Stock Uploads Rejected Before Anyone Looks At Them

Why Wrong CSV Headers Get Your Stock Uploads Rejected Before Anyone Looks At Them

Comments
4 min read
How An Upload Tracker Stops Double-Posting Before It Gets Your Stock Account Flagged

How An Upload Tracker Stops Double-Posting Before It Gets Your Stock Account Flagged

Comments
4 min read
loading...