TaskWarrior Mobile App - Enhancing the User Experience with CCSync

Mabud Alam

175 hours

TaskWarrior is a powerful command-line task management tool that helps users manage their tasks efficiently through a terminal interface. It offers task synchronization, advanced filtering, and script-based integration via CLI.

Last year, we made significant progress by:

  • πŸš€ Migrating most of the codebase to GetX for better state management.
  • πŸ’Ύ Enabling sync with TaskServer 2.0 (TS 2.0).
  • πŸ“± Improving the mobile app’s usability and performance.
  • Unit tests

However, a few key challenges still remain:

  • Some parts of the app still use the old provider-based state management, so we want to complete the migration to GetX.
  • We haven’t fully integrated CCSync/TaskServer 3.0 (which we built separately), and our app only supports TaskServer 2.0.
  • We lack automated build releases (to F-Droid) and automated testing workflows.
  • There's no iOS home widget for quick task access.
  • Desktop optimization is still missing despite Flutter's growing desktop support.

This year, we aim to finalize the TaskWarrior app by:

  1. Completing the migration to GetX.
  2. Extending sync support for CCSync (TaskServer 3.0) without breaking existing TaskServer 2.0 support.
  3. Automating nightly builds via F-Droid and GitHub Actions.
  4. Building an iOS home screen widget for quick task access.
  5. Optimizing the app for desktop usage (macOS).
  6. Ensuring complete test coverage (unit, integration, end-to-end).
  7. Simplifying codebase architecture and reducing unnecessary bloat.
  8. Maintaining the core TaskWarrior philosophy β€” minimal, fast, and powerful.

  • A large portion of the app has already been migrated to GetX, but some modules still use heavy setState for state management.
  • Your task will be to:
    • πŸš€ Move the remaining sections to GetX.
    • πŸ’‘ Ensure state management is clean, reusable, and optimized.
    • βœ… Remove redundant code and reduce app bloat.
  • This will future-proof the app and improve scalability.

  • Current State: The app supports sync only with TaskServer 2.0.
  • Goal: Extend support for CCSync/TaskServer 3.0 without breaking existing TaskWarrior 2.0 functionality.
  • Tasks:
    • πŸ”„ Create separate data models for TaskServer 2.0 and TaskServer 3.0.
    • πŸ’‘ Implement an UI to allow user which taskserver they want to use for different profiles.
    • πŸ“‘ Provide seamless sync functionality for both versions.
    • πŸ’¬ Collaborate with CCSync developers to ensure full compatibility.

πŸ’‘ Note: Some groundwork has already been done to integrate CCSync, so your job will be to improve, optimize, and finalize the integration.


  • The app currently lacks complete test coverage. Your task will be to:
    • πŸš€ Write unit tests for all major functionalities.
    • πŸ§ͺ Implement integration tests to ensure seamless task sync.
    • βœ… Enable end-to-end testing using Flutter integration tests.
    • πŸ“Š Achieve at least 90% test coverage across the codebase.

This will ensure production-level stability and prevent future bugs.


  • One major issue is that our app doesn’t have automated builds.
  • Your task will be to:
    • πŸ€– Setup F-Droid for nightly builds.
    • πŸ”„ Create GitHub Actions CI/CD workflows that automatically:
      • Build APK and AAB packages.
      • Push releases to F-Droid.
      • Notify on failures via GitHub Actions.
  • This will drastically simplify app distribution for users.


  • Since Flutter now supports desktop, we want to optimize TaskWarrior to:
    • βœ… Run smoothly on macOS/Linux/Windows desktops.
    • βœ… Provide a desktop-friendly UI/UX.
    • βœ… Sync tasks seamlessly across desktop and mobile.
  • This will position TaskWarrior as a powerful multi-platform task manager.

  • One of our biggest concerns is breaking existing functionality.
  • Your task is to ensure that:
    • βœ… TaskServer 2.0 sync continues to work as-is.
    • βœ… TaskServer 3.0 integration works without conflict.
    • βœ… The app does not introduce unnecessary bloat or complexity.

  • Release the first version of the Flutter app in AppStore
  • Test all the features and make sure all works.
  • We don't want to make TaskWarrior bloated like other task managers.
  • However, we encourage you to propose:
    • Minimalist UI improvements.
    • Feature enhancements that align with TaskWarrior’s philosophy.
    • Improvements that boost productivity without adding complexity.

By completing this project, you’ll help:

  • πŸš€ Make TaskWarrior a powerful cross-platform task manager.
  • πŸ”„ Provide seamless sync between mobile, desktop, and CLI.
  • πŸ“² Improve the overall user experience for TaskWarrior users.
  • πŸ’Ύ Ensure TaskWarrior remains fast, minimal, and focused.

We don’t want bloat β€” we want efficiency, speed, and simplicity.


Here’s the preferred tech stack:

Frontend:

  • βœ… Flutter + Dart (mandatory).
  • βœ… GetX for state management.

CI/CD:

  • βœ… GitHub Actions.
  • βœ… F-Droid for nightly releases.

Testing:

  • βœ… Flutter Test / Integration Test.

πŸ‘‰ Start the Qualification Task

πŸ’¬ Questions?
Put your questions in Zulip.



βœ… We’re super excited to see how you contribute. Let’s make TaskWarrior the most powerful open-source task manager β€” without any bloat! πŸš€