Vikunja+ is an enhanced, privacy-focused community fork of the official Vikunja Mobile App.
Vikunja is a feature-rich, self-hostable task management platform. Vikunja+ builds upon the official Flutter application to deliver performance improvements, modern Android toolchain updates, battery/notification reliability fixes, flexible views (including Kanban, Table, and Analytics views), cross-project task search, and streamlined task management workflows.
- High-Priority Notification Channel: Option in Settings to send high-priority notifications to a dedicated notification channel to prevent missed alerts.
- Session Expiry Alerts: Displays a system notification prompting re-authentication whenever a background sync job receives a
401 Unauthorizedresponse due to an expired token or session. - Actionable System Notifications: Complete tasks or snooze them directly from your system notifications.
- Informative Snooze Buttons: Notification buttons display the configured snooze duration (e.g., "+30m") so you always know what action is being taken.
- Server-Synced Snooze: Snoozing reschedules both local alerts and the remote server task.
- Smart Duplication Prevention: Prevents double alerts when both a reminder and a due date are set (prioritizes the exact reminder time).
- Clean Text Body: Strips HTML formatting from task notes to display crisp, readable notifications.
- Dedicated Analytics Tab: Comprehensive dashboard providing real-time insights into open, completed, and overdue tasks.
- Flexible Timeframe Filters: Filter task performance and metrics across custom time ranges, including a dedicated "Yesterday" filter.
- Persistent Filter Preferences: Automatically remembers and restores your last selected analytics timeframe filter.
- Full-Month Analytics Scope: Monthly filters encompass the entire calendar month to accurately capture open and upcoming tasks beyond the current day.
- Visual Data Analysis: Visual breakdown and charts for tracking productivity and workload over time.
- Instant Foreground Auto-Refresh: Automatically fetches and updates task lists as soon as the app is opened or brought to the foreground.
- Global Task Search: Search for tasks across all your projects simultaneously, with full support for filtering both active and completed tasks.
- Task Relocation Menu: Move tasks to different projects directly from the task overflow menu (
...). - Interactive Table View: View your tasks in a clean tabular format across all projects, featuring full column sorting and instant completion toggles.
- Instant Kanban Refresh: Real-time column updates — tasks instantly appear or disappear from Kanban columns upon status updates.
- Dedicated Date/Time Pickers: Streamlined date and time picker integration in the full task editing screen.
- Optimized URL & Login Fields: Improved URL text input handling for hassle-free self-hosted server connections.
- Quick Date & Time Presets: Instant day presets (Today, Tomorrow, 1 Week, Next Monday) and time quick-picks (08:00, 10:00, 12:00, 15:00, 18:00, 21:00).
- Smart UI Behavior: Soft keyboard automatically collapses when selecting dates or times to keep input dialogs fully visible.
- Plain Text Editor: Replaced heavy webview editors with a lightweight text editor (includes clear formatting loss warnings when modifying rich-text server notes).
- Timezone Correctness: Reliable UTC server time conversion to local device time zone for seamless date and deadline handling.
- Branded Home Widget: Native home screen widget with German and English localization, updated app labeling, and configurable background refresh intervals.
- Battery & Permission Setup: Integrated button in Settings opening Android's native
App Infoscreen with quick instructions to configure unrestricted background battery execution for reliable reminders.
- Updated Stack: Modernized to Gradle 9.5.0, Android Gradle Plugin (AGP) 9.3.1, and Kotlin 2.3.20 targeting SDK 36.
- Smooth Scrolling: Refactored task list rendering to eliminate micro-stutters across large task lists.
- Privacy-First & Lightweight: Telemetry tracking (Sentry) and heavy embedded web views (
html_editor_enhanced/flutter_inappwebview) have been completely removed for faster startup, smaller APK size, and enhanced privacy.
| Component | Upstream (v0.1.8) | Vikunja+ (v0.55) |
|---|---|---|
| Gradle | 8.14 | 9.5.0 |
| AGP | 8.12.3 | 9.3.1 |
| Kotlin | 2.2.20 | 2.3.20 |
| Target SDK | Default | 36 |
| Main Views | List / Kanban | List / Kanban / Sortable Table / Task Analytics |
| Global Features | Basic | Cross-Project Search & Visual Task Analytics |
| Notification Management | Basic Local Alerts | High-Priority Channel Option |
| Foreground Sync | Manual | Automatic On-App-Open Sync |
| Telemetry / Sentry | Enabled | Removed |
| Webview / HTML Editor | Heavy Webview | Lightweight Plain Text |
To ensure background sync and reminders fire accurately on modern Android devices:
- Go to Settings within Vikunja+.
- Tap the App Info button to open your system's app settings.
- Disable Battery Optimization (allow unrestricted background execution) and grant Exact Alarm / Notification permissions.
Parts of the source code optimizations, refactoring, and project assets (such as the app icon) were created with assistance from AI development tools.
This project is open-source under the MIT License. See the LICENSE file for details.
- Original Work: Copyright (c) 2026 The go-vikunja/app contributors (go-vikunja/app)
- Vikunja+ Fork: Copyright (c) 2026 ElHado