FileLocker
A shipped WinUI 3 encryption app with guided modes, safer batch output, and GitHub Releases updates.
Moved FileLocker from a crypto-focused desktop utility into a more supportable shipped product with guided modes, safer output controls, installer distribution, and a tested updater path.
- Role
- Solo Developer
- Team size
- Solo build
- Updated
- 2026-04-12

Overview
What the project is and why it mattered.
FileLocker is a Windows 10/11 desktop app for protecting local files and folders. The current release line, up through 1.0.5.2, combines AES-GCM and AES-CBC workflows with a cleaner WinUI 3 interface, Beginner / Intermediate / Advanced modes, queue-level feedback, custom encrypt output destinations, NSIS installation, and GitHub Releases based updates.
Latest release
v1.0.5.2
Distribution
NSIS installer with GitHub Releases updates
Workflow
Guided modes, queue metrics, and custom output destinations
Problem
Security tools can become risky when the workflow is unclear. FileLocker needed to keep strong file-protection controls available while making the app easier to understand, safer around destructive actions, and easier to install, update, and troubleshoot after release.
Role
I built and maintained the app as a solo project, covering the desktop UX, encryption and decryption workflow, queue processing, metadata restoration behavior, installer packaging, updater integration, documentation, and release support details.
Build details
Stack, constraints, and decisions.
Stack
Constraints
- File operations needed safer defaults because verification, backups, source removal, and secure delete can affect user data directly.
- Background encryption work had to avoid unsafe WinUI-bound object updates from worker threads.
- Release assets, version tags, and updater metadata had to stay consistent so automatic updates could read GitHub Releases correctly.
- The app had to support both approachable beginner flows and advanced controls without overwhelming the main workspace.
Decisions made
Use guided modes instead of hiding complexity randomly
Beginner, Intermediate, and Advanced modes now change behavior and disclosure so newer users get a clearer path while advanced users still have direct access to profiles, keyfiles, recovery options, and safety controls.
Make output destinations explicit
Encryption can save next to source files or into a custom folder, with validation and persistence so batch workflows are flexible without changing the safer default behavior unexpectedly.
Treat release support as part of the product
The unpackaged NSIS install flow, GitHub Releases update checks, installer naming rules, and Help menu shortcuts make it easier to confirm the installed build and inspect updater downloads.
Keep failures visible and recoverable
Queue item status, structured details, fallback error text, and failed-item visibility help users understand what happened instead of losing context after a partial failure.
Outcome
What came out of it.
Outcome
- Shipped v1.0.5.2 with updated release metadata, Help menu shortcuts for the installed app folder and updater cache, and documentation aligned with the installer/update process.
- Shipped the 1.0.5 line with Beginner / Intermediate / Advanced modes, built-in help, queue metrics, collapsible inspector sections, custom encrypt output directories, and improved layout behavior.
- Fixed updater tag parsing in v1.0.5.1 so GitHub release tags like v1.0.5.2 are read correctly.
- Moved distribution to an unpackaged NSIS installer and GitHub Releases updater flow in v1.0.4.0.
- Improved encryption reliability by keeping UI-bound state updates out of background worker callbacks and tightening metadata restoration during decrypt.
Lessons
- Desktop security tooling needs product support details, not just cryptographic features.
- Guidance belongs in the workflow when users are making high-impact file handling decisions.
- Installer naming, release tags, and update metadata are part of the user experience once the app is public.
- Background processing and UI state need a clear boundary in WinUI apps.
Next
- Keep expanding regression coverage around encryption, decryption, output collisions, and updater behavior.
- Continue improving recovery guidance and failure detail copy for less technical users.
- Tighten release automation so version numbers, tags, installer names, and README details stay in sync.
Keep browsing
Keep moving through the archive or reach out if you want to talk through similar work.