The basics, done properly

A board (kanban) view and a list view of the same tasks, switchable any time. Drag-and-drop between To Do / In Progress / Done, or reorder manually. Every task can carry a due date, priority (low/medium/high), tags, notes, and a checklist of subtasks. Multiple projects keep work, study, and personal tasks apart instead of piled into one list.

Board + list views Drag and drop Subtasks Tags Priorities Due dates Multiple projects Bulk actions + undo

Find things without hunting

Today, Upcoming, and Overdue smart views surface what actually needs attention. Instant search runs across every task and project as you type — parsed on your device, never sent anywhere to be indexed. A command palette (⌘K / Ctrl K) gets you anywhere in the app without touching the mouse, and a natural-language quick-add bar understands things like "call dentist fri 3pm #health" — parsed entirely client-side.

Set it once

Recurring tasks (daily, weekly, monthly) spawn their next occurrence automatically when you finish one. Board and project templates — a sprint board, a client-onboarding checklist, a moving-house list, a weekly review, a freelance kickoff — start you from a real structure instead of a blank list, using the exact same task-creation path as typing one by hand.

Yours to keep

Your tasks export as plain JSON any time you want them, and the same file imports right back in — re-importing a backup merges by last-write-wins instead of duplicating everything. CSV import also understands common exports from other task apps (Todoist, TickTick, and most spreadsheet-style formats), mapping columns like Due Date or Priority automatically. Nothing about your data format is proprietary.

haven-tasks-2026-08-07.json
// Export → Import round-trips exactly. No proprietary format,
// no "upgrade to export" paywall — just the tasks, decrypted
// in your browser's memory and written straight to a file.
[
  {
    "id": "6f2a9e...",
    "title": "Finish quarterly report",
    "project": "Work",
    "status": "in-progress",
    "priority": "high",
    "dueDate": "2026-08-08",
    "tags": ["reporting"],
    "subtasks": [
      { "title": "Pull Q3 numbers", "done": true },
      { "title": "Write summary", "done": false }
    ],
    "recurrence": null,
    "createdAt": 1754500000000,
    "updatedAt": 1754521600000
  }
]

Fits into a life you already have

A calendar view of every task with a due date, plus one-way .ics export to drop into Google Calendar, Apple Calendar, or Outlook. Install Haven as a real app (PWA) on desktop or mobile — it works fully offline once installed, not just when your browser happens to still have it cached. A 25-minute Pomodoro timer scoped to whichever task you're working on, accumulating real time-spent per task.

Quietly smart, entirely on your device

A local automation rules engine reacts to your own tasks — mark something done, let its due date pass, or tag it a certain way — and can set a priority, move it to a project, or tag it in response, all evaluated client-side against your already-decrypted task list. An on-device insights panel shows completion rates and breakdowns by status, priority, and project, computed instantly from what's on your board right now — nothing tracked over time, nothing logged.

Haven also has a genuine on-device AI assistant — a small language model that downloads once (about 140MB, opt-in, never automatic) and then runs entirely in your browser via WebAssembly. It can suggest what to focus on today or break a task into subtasks, and never sends a single task, title, or note anywhere, even to us. Being small and local-first, it's honest about being slow — answers take roughly a minute, not a few seconds — and plainspoken rather than polished. That's the real, disclosed trade-off for "runs entirely on your phone or laptop" instead of a hosted model.

For when it matters more

Share a single task or a whole list via a link — the decryption key travels in the URL fragment, which browsers never send to any server, so whoever's relaying that link only ever sees ciphertext. Links can expire (1 hour to 30 days) or burn after being viewed once, and you can revoke one from your end at any time.

A tamper-evident, cryptographically signed history log makes silent edits or backdating provable, not just policy. Passkey (WebAuthn) unlock and Shamir-secret-sharing social recovery (split your recovery code among people you trust, k-of-n) give you real alternatives to remembering a passphrase forever. Self-destructing tasks erase their own encryption key — not just the visible text — on a timer or after being opened once, and a second, fully independent passphrase opens a decoy vault if you ever need one.

See exactly how the encryption and the threat model work →

Try it — it takes ten seconds

No account, no credit card, no tour. Set a passphrase and start typing.

Open Haven — it's free