Linux First. Windows Native. Local First. Open Source.
Openza Tasks is a task manager for people who want fast local capture with optional provider sync. The Windows edition remains a native WinUI 3 app, while the new Avalonia desktop edition targets Linux first and keeps Windows and macOS compatibility. Both use the same local-first SQLite core.
Openza Tasks is maintained by Deependra Solanky as a personal open-source project. Microsoft sign-in may show the Openza app name with the solanky.dev publisher/contact identity.
User guide: solanky.dev/openza/tasks
- Linux-first desktop app - Avalonia with first-class keyboard and desktop workflows
- Native Windows app - WinUI 3, MSIX packaging, Mica where available
- Local-first storage - tasks, projects, labels, backups, and imports live on your device
- Provider sync - optional Todoist and Microsoft To Do reconnect/sync
- Local restore points - automatic and manual SQLite restore points support rollback inside the app package state
- Optional durable backup - restorable backup snapshots can be uploaded to the app's OneDrive folder or exported by the user
- Focused task layout - navigation, projects, task list, and details in one productive surface
- Markdown import/export - import GFM checkboxes and export tasks grouped by project
- Clean local database - Store V1 starts fresh with planner-ready local data
Openza Tasks V1 is live on the Microsoft Store:
- Install from Microsoft Store
- Open in the Store app
Openza Tasks 1.1.0 for Linux is available as a strict Snap from the
GitHub release while
Snap Store publication is pending. Download the .snap and matching
.sha256 asset, verify the download, then install it:
sha256sum --check openza-tasks_1.1.0_amd64.snap.sha256
sudo snap install ./openza-tasks_1.1.0_amd64.snap --dangerousSnap uses --dangerous for a local package installed without a Snap Store
assertion. Openza Tasks remains strictly confined. The release page explains
how to switch to Store-signed automatic updates when they become available.
Legacy Flutter-era packages remain available in older GitHub releases, but they are no longer the active product line. Store V1 starts with a clean WinUI workspace and can reconnect integrations.
Install the .NET 10 SDK, then run:
./dev.shSource launches always use the isolated maintainer-only Dev directory. For disposable testing, OPENZA_TASKS_DEV_DATA_DIR may override that Dev path; Production builds ignore it.
Run the matching Dev CLI with ./dev-cli.sh. See docs/cli.md for its command contract.
The Linux app currently includes smart lists, Spaces, projects, search, sorting, filtering, grouping, task details, labels, dates and deadlines, subtasks, Markdown import/export, restore points, connected-task intake, Todoist and Microsoft To Do synchronization, optional OneDrive backup, and GitHub issue creation and linking. The Snap bundles Secret Service tooling and accesses the desktop Secret Portal; source runs require the host libsecret-tools package before connecting an account.
Build the strict Linux Snap from the repository root:
bash packaging/snap/build-local-snap.sh artifacts/snap/openza-tasks.snapThe Snap contains both the openza-tasks desktop command and the namespaced
openza-tasks.openza CLI. The short openza command is requested as a Snap
Store automatic alias before public release. Generated packages are written
under the ignored artifacts/snap/ directory.
Maintainer registration, edge testing, and same-revision promotion are documented in docs/snap-release.md. Integration configuration and remaining native acceptance checks are documented in docs/avalonia-parity.md.
- Windows 10 22H2 or Windows 11
- .NET 10 SDK
- Visual Studio 2026 Community or newer with:
- .NET desktop development
- Universal Windows Platform development
- Windows App SDK C# components
Microsoft's WinUI setup can install the required workloads:
winget configure -f https://aka.ms/winui-configdotnet restore Openza.Tasks.slnx
dotnet test src\Openza.Tasks.Tests\Openza.Tasks.Tests.csproj -c Release
dotnet build src\Openza.Tasks\Openza.Tasks.csproj -c Release -p:Platform=x64 --no-restore- Open
Openza.Tasks.slnx. - Select the
Openza Taskslaunch profile. - Use
x64. - In Configuration Manager, enable Build and Deploy for
Openza.Tasks. - Press F5.
src/
Openza.Tasks/ WinUI 3 packaged app
Openza.Tasks.Desktop/ Avalonia desktop app
Openza.Tasks.Core/ SQLite data, backups, import/export, provider sync
Openza.Tasks.Tests/ Unit, repository, backup, and sync tests
The sync engine is C# in Openza.Tasks.Core. Historical Rust FFI work is preserved in git history and legacy releases; it is not shipped with the WinUI app.
The last Flutter-era mainline is preserved on the legacy-flutter-app branch. Active development targets the Linux-first Avalonia host in src/Openza.Tasks.Desktop/ and the Windows-native WinUI host in src/Openza.Tasks/, sharing src/Openza.Tasks.Core/.
See docs/architecture.md for the V3 task model, provider wrapper pattern, and future sync-route design. See docs/design-guidelines.md for the Openza Calm Fluent production UI language.
Microsoft To Do and OneDrive backup use Openza's built-in public Microsoft app registration. Developers can override the public client ID at build time for testing, but normal users do not need to configure Azure app registrations or client IDs.
Openza Tasks does not add telemetry or analytics. Windows uses Credential Locker and a protected MSAL cache. The Linux desktop uses Secret Service, accessed through the Secret Portal in the Snap, for provider tokens, the Microsoft token cache, and backup passphrases. Account identifiers and preferences remain in local settings. Provider sync, GitHub issue creation, and OneDrive backup send data to the selected service when used. See PRIVACY.md.
The source code and documentation are available under the MIT License. Openza names, logos, and official app icons are reserved brand assets; see BRAND.md. Third-party dependencies remain subject to their respective licenses; see THIRD-PARTY-NOTICES.md.