Back to projectsProject PDF
Local media automation

HashWash

A local media preparation workspace for creating image and video export variations, reviewing outputs, and keeping the source files intact.

Internal department toolWindows desktop applicationTauri · Rust · React · TypeScript · Python · FFmpeg
My contribution

Desktop interface and workflow development connecting local media workers, batch settings, job monitoring, and output review.

Preview only

Explore screenshots and documented implementation details.

Product walkthrough01 / 03
A completed sample image run

Actual Queue / Logs interface populated from a verified local image-worker run using sample artwork. Folder paths are shortened for presentation. Desktop integration checks remain pending; no speed benchmark is implied.

A completed sample image run
HashWash Queue and Logs interface showing a completed three-image batch and a verified six-export result from sample artwork
A closer look at the result

Three originals in. Six exports out.

A local run of the bundled image worker created two variations of each sample image. Every output matched the checksum recorded in its manifest, and an independent before-and-after check confirmed that all source files stayed unchanged.

Sample source images
3
Successful exports
6
Originals unchanged
3 / 3

Checked September 21, 2026 with three 960 × 640 sample artworks, the Light profile, and a fixed seed. A small image-worker check; video processing, the full desktop bridge, and speed at scale are not covered.

Download the verified run report (CSV)

The workflow, before and after.

The starting problem

Repeated media preparation involves choosing settings, creating variations, finding outputs, and checking that originals remain untouched.

The implemented flow

Choose a batch profile and output folder, review the planned run, then inspect its exports and manifest together. A separate sample run verifies that the original sample artwork stays unchanged.

The example uses sample artwork. It does not disclose workplace media or measure company productivity.

The challenge

Preparing a collection of media can involve repeated format, naming, metadata, and export steps. A batch workflow needs a clear record of what ran and where its outputs went.

What I built

  • Image and video batch setup with export profiles, naming and metadata controls, and dry-run review.
  • Local Python media workers connected to a Tauri desktop shell, with FFmpeg and FFprobe used for video workflows.
  • Queue and log views, output manifests, image comparisons, review notes, and controlled retries for failed work.

Key implementation decisions

Separate inputs from finished work

The workflow reads source files and writes prepared media and manifests to an explicit output location, keeping the original media separate.

Make a batch inspectable

Dry-run controls, job logs, and manifest-backed output review give the operator checkpoints before and after processing.

The result

A desktop workflow that brings repeatable media preparation, progress tracking, and output review together. Processing stays local and does not require cloud accounts.