polar. documentation
technical reference and user guide for polar. v1.7
overview
polar. is an offline-first android task manager built with kotlin. it follows clean architecture + mvvm and stores everything locally using room.
the app targets android 7.0+ (api 24) and is compiled with the latest android sdk. since v1.7 it ships in two builds from the same codebase: an offline build that intentionally does not request the internet permission, and an online build with supabase cloud sync, available only to people who have been granted an account by the developer.
key features
- โ tasks with title, description, due date, priority, estimated time and recurrence
- โ unlimited subtasks with checkbox completion
- โ custom lists with 40 icons, color and drag & drop ordering
- โ tag-based filtering with #tag syntax
- โ monthly calendar with dot indicators and daily agenda
- โ date, time and location-based reminders with status filters and date groups
- โ statistics with bar, line and donut charts
- โ 7 themes, 6 fonts, 2 checkbox styles and font size slider
- โ launcher widget for today's tasks
- โ settings organized into appearance, notifications, data and help categories
- โ cloud sync across devices (online build, accounts granted by the developer)
- โ local backup and restore in json, plus csv import
architecture
the app uses a single activity with manual fragmentmanager navigation. ui is built with xml layouts and view binding.
dependency injection is handled by hilt. background work uses kotlin coroutines and workmanager for recurring tasks and, on the online build, periodic sync.
core stack
permissions
the offline build does not declare the internet permission; the online build declares it only to sync with supabase, and makes no network connections until you sign in with an account granted by the developer. both request just the minimum permissions required for alarms, notifications and optional location reminders.
| permission | purpose |
|---|---|
| INTERNET | online build only: cloud sync with supabase, used only with a linked account |
| POST_NOTIFICATIONS | post reminders and task notifications |
| SCHEDULE_EXACT_ALARM | trigger exact reminder alarms |
| ACCESS_FINE_LOCATION | optional: location-based reminders |
| RECEIVE_BOOT_COMPLETED | reschedule alarms after device reboot |
backup & restore
you can export your entire database to a json file from settings. the file can be imported later on the same or a new device.
csv import is also supported for migrating simple task lists from spreadsheets.
on the offline build, restoring a backup runs in a single database transaction, so a broken file can no longer wipe your current data. backups exported by v1.6 are still accepted.
frequently asked questions
is polar. really free?
does it sync with the cloud?
can i create an account for the online build?
no. there is no public sign-up. the online build is administered by the developer, who personally decides which people are granted an account. without one, the online build works exactly as well as the offline build and makes no network connections at all.
request an account by email (contacto@rezzt.dev)