Back to the deskStart a project
Local media automation

HashWash

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

Windows 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.

Product walkthrough01 / 02
Set up a media batch

Actual application frontend shown in an empty browser preview. Native processing requires the Windows app and its local worker setup; no completed-job metrics are implied.

Set up a media batch
HashWash batch setup with separate source and output folders, export profiles, media type, and dry-run controls

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.