Choose the platform for the workload
WPF was selected after comparing Electron, Tauri and Python/Qt. Windows filesystem APIs, media support, async primitives and straightforward packaging suited the job, with zero external NuGet dependencies.
Supporting / Engineering case study
A native Windows app for sorting thousands of photos and videos by keyboard.
C# / .NET 7 / WPF / IAsyncEnumerable
A 20–30 second desktop recording will show the queue draining, one undo and the destination folders. The workflow above is a schematic, not a browser version.
01 / The problem
Sorting a large media collection by dragging files between folders is slow. Automating file moves also raises a harder question: what can the application safely promise about irreplaceable files?
02 / What I built
Import files or folders, preview the next item and press a number to move it to a destination. Focus mode keeps the workflow essentially keyboard-only. The queue persists across restarts; Ctrl+Z reverses a move using a collision-safe destination name.
03 / Architecture
04 / Key decisions
WPF was selected after comparing Electron, Tauri and Python/Qt. Windows filesystem APIs, media support, async primitives and straightforward packaging suited the job, with zero external NuGet dependencies.
IAsyncEnumerable lets files appear before the full tree finishes scanning. Traversal is iterative; an individual permission or file failure does not abort the entire batch.
Normal moves offer auto-rename, skip or overwrite. Undo always uses auto-rename, even when overwrite is selected for ordinary moves.
05 / What went wrong
06 / Evidence
07 / Current status & limitations
Local Windows application. No automated test suite currently. .NET 7 needs upgrading, and a large code-behind file remains instead of MVVM. A real screen recording is still needed for the portfolio.
Evidence basis: project implementation review and research notes supplied for this portfolio, September 2026. Project tests described here are distinct from the portfolio’s own checks.