DEV Community

Muhamad Revanza Rafif Hamdani profile picture

Muhamad Revanza Rafif Hamdani

404 bio not found

Joined Joined on 
How I Kept AI Image Generation Costs Near Zero Running On A 2 GB Single-Core Server

How I Kept AI Image Generation Costs Near Zero Running On A 2 GB Single-Core Server

Comments
4 min read
Four Python Scripts That Package Stock Assets With Only Pillow And Reportlab

Four Python Scripts That Package Stock Assets With Only Pillow And Reportlab

Comments
4 min read
Why Metadata CSVs And Double-Post Tracking Cost More Than Generation In My Stock Pipeline

Why Metadata CSVs And Double-Post Tracking Cost More Than Generation In My Stock Pipeline

Comments
4 min read
The Four-Script Philosophy: How Fewer Tools Shipped 39 Stock Products

The Four-Script Philosophy: How Fewer Tools Shipped 39 Stock Products

Comments
4 min read
Why Four Python Scripts Beat a Framework for Stock Asset Packaging

Why Four Python Scripts Beat a Framework for Stock Asset Packaging

Comments
4 min read
Metadata CSVs, Upload Ledgers, and Covers: The Four Scripts Behind 39 Products

Metadata CSVs, Upload Ledgers, and Covers: The Four Scripts Behind 39 Products

Comments
4 min read
Testing Your Metadata CSV Against Adobe, Vecteezy And Dreamstime Before Upload

Testing Your Metadata CSV Against Adobe, Vecteezy And Dreamstime Before Upload

Comments
4 min read
When My Python Scripts Hit Their Limit And I Started Outsourcing The Boring Parts

When My Python Scripts Hit Their Limit And I Started Outsourcing The Boring Parts

Comments
4 min read
Outsourcing Metadata And Packaging When One Server And Four Scripts Stopped Scaling

Outsourcing Metadata And Packaging When One Server And Four Scripts Stopped Scaling

Comments
4 min read
The Four Tasks I Stopped Scripting And Now Hand Off Before Every Upload Batch

The Four Tasks I Stopped Scripting And Now Hand Off Before Every Upload Batch

Comments
4 min read
From Filename To Findable: A Naming System For Stock Metadata CSVs

From Filename To Findable: A Naming System For Stock Metadata CSVs

Comments
4 min read
From Prompt Engine to Finished Product: The Four Standard-Library Scripts That Do the Boring Work**

From Prompt Engine to Finished Product: The Four Standard-Library Scripts That Do the Boring Work**

Comments
1 min read
Here are three dev.to article titles grounded in the project's actual details:

Here are three dev.to article titles grounded in the project's actual details:

Comments
1 min read
Your Art File Isn't the Product: Four Python Scripts That Close the Last Mile"**

Your Art File Isn't the Product: Four Python Scripts That Close the Last Mile"**

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
1 min read
39 Products, One 2 GB Server: The Unglamorous Work That 'Finished' Actually Costs"**

39 Products, One 2 GB Server: The Unglamorous Work That 'Finished' Actually Costs"**

Comments
1 min read
Here are three dev.to article titles grounded in the actual project details:

Here are three dev.to article titles grounded in the actual project details:

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
1 min read
From Filenames to Real Titles: Adding `titles.json` to a Pipeline That Packaged 39 Products"**

From Filenames to Real Titles: Adding `titles.json` to a Pipeline That Packaged 39 Products"**

Comments
1 min read
Two Packages Only: Why a Lean requirements.txt Sells More Copies

Two Packages Only: Why a Lean requirements.txt Sells More Copies

Comments
1 min read
One Prompt Engine, 39 Products: The Assembly Line That Packs Stock Assets

One Prompt Engine, 39 Products: The Assembly Line That Packs Stock Assets

Comments
1 min read
Four Python Scripts Moved 39 Products From Folder To Upload CSV

Four Python Scripts Moved 39 Products From Folder To Upload CSV

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
Products On A 2 GB Server: Metadata, Tracking And Packaging Line

Products On A 2 GB Server: Metadata, Tracking And Packaging Line

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
Double-Posting Gets Stock Accounts Flagged: upload_tracker.py Prevents It

Double-Posting Gets Stock Accounts Flagged: upload_tracker.py Prevents It

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
3 min read
Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Comments
4 min read
à 720 or 600à 600: What Each Size Does in pack_product.py and Why

à 720 or 600à 600: What Each Size Does in pack_product.py and Why

Comments
4 min read
md2pdf.py: Turning Markdown Docs Into Premium PDF Add-Ons With Reportlab

md2pdf.py: Turning Markdown Docs Into Premium PDF Add-Ons With Reportlab

Comments
4 min read
One Command To Product: Styled PDFs As Paid Add-Ons Using md2pdf.py

One Command To Product: Styled PDFs As Paid Add-Ons Using md2pdf.py

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
Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Comments
4 min read
à 720 or 600à 600: What Each Size Does in pack_product.py and Why

à 720 or 600à 600: What Each Size Does in pack_product.py and Why

Comments
4 min read
Half Your Scripts Need Zero Installs: Why Stdlib-Only Products Sell Better

Half Your Scripts Need Zero Installs: Why Stdlib-Only Products Sell Better

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
Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Comments
4 min read
à 720 or 600à 600: What Each Size Does in pack_product.py and Why

à 720 or 600à 600: What Each Size Does in pack_product.py and Why

Comments
3 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
Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Comments
4 min read
Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Comments
4 min read
à 720 or 600à 600: What Each Size Does in pack_product.py and Why

à 720 or 600à 600: What Each Size Does in pack_product.py and Why

Comments
4 min read
Zip, Cover, Thumbnail: The Packaging Script That Made 39 Products Look Finished**

Zip, Cover, Thumbnail: The Packaging Script That Made 39 Products Look Finished**

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
Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Why pack_product.py Renders Both a 1280Ã 720 Cover and a 600Ã 600 Thumbnail

Comments
4 min read
# 3 dev.to Article Titles: "Finished Product" Beyond the Art File

# 3 dev.to Article Titles: "Finished Product" Beyond the Art File

Comments
4 min read
39 Products, One 2 GB Server: What Makes a File 'Finished' When the CSV Header Decides"**

39 Products, One 2 GB Server: What Makes a File 'Finished' When the CSV Header Decides"**

Comments
4 min read
The Art Was Never the Bottleneck: Four Failure Points the Pipeline Starter Kit Closes"**

The Art Was Never the Bottleneck: Four Failure Points the Pipeline Starter Kit Closes"**

Comments
4 min read
Your Folder Structure Is Writing Your Metadata (Whether You Meant It To)**

Your Folder Structure Is Writing Your Metadata (Whether You Meant It To)**

Comments
4 min read
Products, 2 GB of RAM, and One Rule: The Filesystem Is the Database**

Products, 2 GB of RAM, and One Rule: The Filesystem Is the Database**

Comments
4 min read
The Filename Is a Contract: How Naming Rules Quietly Decide Your Upload CSV**

The Filename Is a Contract: How Naming Rules Quietly Decide Your Upload CSV**

Comments
4 min read
From `python -m venv` to First Product: Auditing the Onboarding Moment in a No-Framework Toolchain**

From `python -m venv` to First Product: Auditing the Onboarding Moment in a No-Framework Toolchain**

Comments
4 min read
My requirements.txt Has Two Lines. Here's Why That Sold 39 Products to Strangers."**

My requirements.txt Has Two Lines. Here's Why That Sold 39 Products to Strangers."**

Comments
4 min read
`pip install pillow reportlab` And Nothing Else: What a 2 GB Server Taught Me About Dependency Bloat"**

`pip install pillow reportlab` And Nothing Else: What a 2 GB Server Taught Me About Dependency Bloat"**

Comments
4 min read
If Your Script Needs 20 Packages to Write a CSV Header, Buyers Can Smell It"**

If Your Script Needs 20 Packages to Write a CSV Header, Buyers Can Smell It"**

Comments
4 min read
Four Scripts, 39 Products: How I Turned One Prompt Engine Into an Assembly Line**

Four Scripts, 39 Products: How I Turned One Prompt Engine Into an Assembly Line**

Comments
4 min read
Adobe, Vecteezy, Dreamstime: Building Exact Upload CSVs From a Folder With Bare Python**

Adobe, Vecteezy, Dreamstime: Building Exact Upload CSVs From a Folder With Bare Python**

Comments
4 min read
Bloated requirements.txt Loses Buyers: Ship Four Scripts, Two Packages Instead

Bloated requirements.txt Loses Buyers: Ship Four Scripts, Two Packages Instead

Comments
4 min read
One Prompt Engine, 39 Products: The Scripts That Package Stock, Stickers, Templates

One Prompt Engine, 39 Products: The Scripts That Package Stock, Stickers, Templates

Comments
4 min read
Repurpose One Asset Across Adobe, Vecteezy, Dreamstime With Two Stdlib Scripts

Repurpose One Asset Across Adobe, Vecteezy, Dreamstime With Two Stdlib Scripts

Comments
4 min read
loading...