SortWeave
Coming SoonIntelligent Rule-Based File Organization
A powerful cross-platform desktop application that automates file management through customizable, rule-based workflows. Built with modern C# and Avalonia UI for seamless performance across Windows, macOS, and Linux.
My Contributions
Core Architecture
- Designed and implemented MVVM architecture using CommunityToolkit.Mvvm
- Built theme persistence system with JSON based read/write stytem
- Implemented dependency injection for testability and modularity
File Operations System
- Developed asynchronous file processing with real-time progress reporting
- Created flexible file grouping system supporting multi-level folder structures (e.g., type/date)
- Implemented robust error handling and validation for edge-cases
Auto-Update System
- Integrated Velopack for seamless cross-platform updates
- Built update UI panel for manual/automatic options
- Implemented delta patching to minimize download sizes
UI Components & Validation
- Created TextBox filtering system restricting invalid characters/symbols
- Developed dynamic filter tag system with visual state indicators (active/inactive)
- Fixed cross-platform UI inconsistencies and input handling issues
Critical Bug Fixes
- Resolved file deletion and crash issues with edge-case file paths
- Fixed file grouping errors and ensured data integrity
- Refactored legacy code for compatibility and maintainability
Testing & Quality
- Wrote xUnit tests for critical file operation components
- Implemented validation to prevent data loss scenarios
- Conducted extensive cross-platform testing (Windows, macOS, Linux)
Architecture & Design Decisions
Clean layered architecture — each layer only depends on the one below it, keeping concerns separated and the codebase testable.
Presentation Layer
Avalonia MVVM views with reactive bindings, custom controls for rule configuration, and a theme system supporting light/dark modes.
↳ Avalonia was chosen for native cross-platform rendering without Electron's overhead — same C# codebase, no web tech.
Application Layer
ViewModels, services, dependency injection container, command handling, and application-level state management.
↳ CommunityToolkit.Mvvm keeps boilerplate minimal while enabling full testability of ViewModel logic in isolation.
Domain Layer
Rule engine, file operation logic, business rules, validation, and domain models — the heart of SortWeave.
↳ Kept framework-free so the core logic can be unit-tested without any UI or I/O dependencies.
Infrastructure Layer
File system access, licensing service, Velopack update service, logging, and JSON settings persistence.
↳ All external concerns are abstracted behind interfaces, making it straightforward to swap implementations or mock in tests.
Screenshots & Demos
More Visual demonstrations and interface previews coming soon.
Entry Interface
Rule Engine
Processing Results
Demo Video Loading...
Technical Stack
Core Technologies
Architecture & Patterns
Features & Tools
Results & Key Learnings
What I Accomplished
- Built fully functional cross-platform desktop application from scratch
- Implemented complex file grouping system with flexible multi-level organization
- Created reusable UI components: theme persistence, text validation, filter tags etc..
- Eliminated critical bugs preventing data loss and application crashes
- Integrated modern tooling: Velopack updates, xUnit testing, MVVM architecture
- Achieved stable cross-platform compatibility through extensive testing and fixes
- Developed clean MVVM architecture with dependency injection for future extensibility
Technical Skills Gained
- Deep dive into Avalonia UI framework and cross-platform development challenges
- Learned async/await patterns for responsive UI with data proccessing
- Cross-platform debugging and resolution of platform-specific issues
- Practical MVVM architecture with ObservableCollections, reactive data binding and state management
- Experience implementing update mechanisms (Velopack), settings persistence, and user feedback systems
- Collaborative development workflows: git & github usage, code reviews, refactoring code, maintaining compatibility