The Problem
Basic file copying provides little information about whether a backup completed correctly or whether the stored files remain unchanged over time. Large file operations can also block a desktop application's main thread, causing the interface to freeze. Backup records are often lost between sessions unless they are persisted separately. The project therefore focused on several practical problems: safely copying directory structures, verifying copied data, detecting later changes, keeping the GUI responsive during long operations, storing backup history, and providing a controlled restore workflow.