Victor Svensson

Product Designer

ClI tool
CLI tool for downloading content from Milkywire

💊 Painkiller – Bulk downloading internal content

Milkywire, 2024

Role

Designer & Developer

Time

1 week

Tools

CLI, Web App, Internal APIs, AI assistance


Context

Our internal tool for managing assets from impact organizations wasn't built for bulk operations—assets had to be downloaded individually, and crucial information like copyrights and captions risked getting lost or mismatched along the way.

Since I was personally struggling with this, I decided to try building a solution myself. It turned out I wasn't alone, and soon others expressed interest, leading me to build both a CLI and a web app.

Problem

Previously, the workflow involved manually scrolling through posts in a social-media style feed, individually downloading each asset, and separately managing captions and metadata—a time-consuming and error-prone process.

Process

Identifying the pain

Our existing tool wasn't designed for the expanding volume and complexity of our assets. It didn't offer a straightforward way to bulk download or organize content effectively.

Solution building

Initially, I created a CLI tool with an interactive mode using our APIs, allowing users to:

  • Filter by fund, initiative, impacter
  • Choose asset type (image/video)
  • Apply date filters and limits
  • Ensure copyright and highlights were managed correctly

The assets were automatically structured into organized folders:

Fund/
└── Initiative (date)/
    └── initiative_name_date/
        ├── asset_1
        ├── asset_2
        └── caption.txt

As the CLI gained traction internally, I expanded its functionality into a more user-friendly web application to cater to colleagues who preferred a graphical interface.

Challenges & learnings

Being primarily a designer and a hobbyist coder, building a CLI and web tool from scratch had a steep learning curve. Leveraging AI tools for support and guidance significantly accelerated my learning, helping me move quickly from idea to deployment.

Result

Now our teams spend less time on tedious manual downloads and more time focusing on impactful communication, with assets and metadata neatly organized and instantly accessible.