Cadence Open the app →

Local-first · v0.2 in active use

A workspace for the way you actually work.

People, tasks, notes, agenda and a built-in developer toolkit — all in one calm interface. Encrypted on your device with AES-256-GCM. No cloud account, no SaaS we forgot to renew. Move data between devices with an encrypted backup file when you need to. Bring your own AI key when you want help; turn it off when you don't.

  • ● macOS desktop · iOS / Android PWA
  • ● Encrypted backups to move between devices
  • ● Auto-snapshots + boot integrity checks
  • ● Teams, planning, notes + activity report
  • ● Developer tools: ERD, sketch, encode, codegen
  • ● Free and open source
Cadence home: a grouped, colour-coded menu on the left; today's focus, schedule and quick access on the right

Home in dark mode. Workspace, AI, Insights, Utilities, People and Account each fold away, and every destination has its own colour.

Why Cadence is different

Four trade-offs that productivity tools usually skip. We pick the unfashionable side on each of them.

100% local-first — no cloud account

Every keystroke is written to your machine, not to a server. Atomic fsync'ed writes, 50 rolling auto-snapshots, refuse-to-overwrite guard, enriched in-app recovery UI (per-snapshot counts, Reveal in Finder, restore confirmation). If a boot loads meaningfully less than your last save, an amber banner tells you before you panic. When you want two devices to share a workspace, export an encrypted backup file and merge it in — your bytes stay between your phone and your laptop.

Encrypted at rest on your device

The desktop data file is wrapped in AES-256-GCM with a key derived from your account password via scrypt. Notes get an additional opt-in passphrase lockbox. Portable backups use the same on-device encryption — nothing leaves your machine unless you export it.

AI when you want it

Bring your own API key for Anthropic Claude, OpenAI or Google Gemini, or connect your own gateway. Calls go directly from your device to the address you chose — no proxy, no Cadence-side telemetry. Turn AI off completely and nothing else changes.

Open source, no upsell

The codebase is on GitHub. No accounts in the cloud, no premium tier, no waitlist. If you don't like a behaviour you can fork it. The desktop app auto-updates straight from GitHub Releases.

Built for the daily ritual

Cadence isn't trying to replace your IDE, your calendar and your inbox. It's the in-between space — the place you actually plan and reflect.

Home

Your day, teams and quick access in one glance.

The dashboard greets you with overdue counts, open to-dos and today's schedule. Jump straight to Agenda, Notes or any team from quick-access tiles — or press ⌘K to search titles and bodies across the workspace.

  • Stat cards for teams, tasks and people
  • Continue where you left off on your last team
  • Global search pill in the top bar
Cadence home dashboard with stat cards, today schedule and quick access tiles
Notes

A rich notebook with lockbox, code and diagrams.

Two-pane macOS-Notes-style view with a resizable sidebar and clear folder → note hierarchy. Reading defaults to Preview; one click flips into Edit with a full formatting toolbar (Bold, Italic, Headings, Lists, Tables, Links — with ⌘B / ⌘I / ⌘K shortcuts).

Code blocks are syntax-highlighted by language (Notion-style picker). Set the language to Mermaid for live flowchart / sequence diagrams — only the source text is stored, never rendered SVG. Lock individual notes with a workspace passphrase (PBKDF2 → AES-256-GCM).

  • Five sort modes + drag-reorder inside the pinned tier
  • Active · Archived segment — shelve without deleting
  • Syntax-highlighted code · Mermaid diagrams
  • Find & replace in the editor · body search in ⌘K
  • Nested note lists with sub-lists
  • Open .md, .txt or .html files as notes · save a note as a file (⇧⌘S)
Cadence notes view with resizable sidebar and markdown preview
Tasks

Lists that respect priority — with room for real notes.

Group tasks by project; each group has its own priority (P0 / P1 / P2 / P3). Drag items between groups and order them within each. Every task can carry optional Markdown details (same rich editor as Notes — including syntax-highlighted code and Mermaid) — use Add details when you create a task, or the 📝 toggle on any row. Set recurring reminders (daily / weekly / monthly) that fire as desktop notifications even when the window is in the background.

  • Active · Archived for tasks and lists
  • Recurring reminders that catch up gracefully after sleep
  • Search matches title and details, not just the one-liner
  • Pinned groups float to the top of the sidebar
Cadence to-dos view with priority groups, status filters and optional Markdown details per task
Agenda

Tomorrow at a glance, this month in context.

A read-only calendar view of every reminder, due date and recurring task across the workspace. Click any day to jump to its detail; click any item to deep-link to the underlying note or task. Lives offline; never asks for calendar permission.

Cadence agenda with overdue, today and upcoming tasks
Planning

Eisenhower matrix for your personal tasks.

The Planning hub pulls tasks from your personal to-do lists into a four-quadrant matrix: Do first, Schedule, Delegate, and Eliminate. Drag to reprioritise by urgency and importance — the matrix is a view, not a duplicate copy of your tasks.

  • Linked to your existing to-do lists
  • Drag between quadrants, or let AI suggest them (optional)
  • 100% local — no sync required to plan
Cadence Planning hub with Eisenhower matrix quadrants
Teams

People workspaces for Me, leader and skip-level.

Every team scaffolds three durable workspaces automatically: Me, My leader, and Skip-level leader — plus the roster of people you add. Each person gets tasks, goals, documents, feedback, a scratchpad and a 1:1 mode with schedule reminders.

  • Deep links land on the right person with item focus
  • Schedule popover for due / remind / repeat
  • Activity report and agenda pull from the same items
Cadence teams and people workspaces
Settings

Security, backup and integrations — grouped clearly.

Everything about your workspace lives on your device. Settings are organised into Account & security (optional recovery codes), Data & backup (portable ZIP on every platform, full folders on desktop, 50 rolling snapshots), Integrations (AI and reminders) and About (in-app user guide).

  • Recovery codes for local password reset (optional)
  • Portable ZIP — workspace + images across devices
  • One-click backup & recovery with snapshot counts
  • Workspace storage breakdown on desktop
  • Encrypted backup export / additive merge — no cloud account
Cadence Settings with account security, backup and recovery codes
Utilities

Scratch pad and structured-data bench.

Not everything belongs in a note or a todo. The Utilities sidebar holds workspace tools that live beside your data — no separate app to open.

Document is a rich-text scratch pad with the same Preview / Edit tabs as Notes, and it holds several documents in tabs you can add, rename and close. JSON / YAML is a CodeMirror bench: syntax highlighting, validation, code folding, pretty-print, and a side-by-side Diff mode for Before/After config reviews. JSON adds compact (single-line) and stringify (escape for env vars).

  • Document + JSON/YAML autosave to your encrypted workspace
  • Edit + Diff tabs; fold nested blocks from the gutter
  • Undo/redo; icon toolbar with hover labels
  • Move to Notes: turn any tab into a note in one step
  • Save to a file with ⇧⌘S (Document: md / txt / html)
  • ⌘K → Document, JSON / YAML, or Tools
{
  "before": { "timeout": 30 },
  "after":  { "timeout": 60 }
}

→ Diff highlights changes inline
→ Format pretty-prints both sides
Tools

A developer toolkit that never touches your notes.

Under Utilities → Tools: encode/decode, hashes, text helpers, time/cron, codegen, a lite ER diagram, and an Excalidraw-style sketch board. Built for the moments between tickets — paste a curl, decode a JWT, sketch a box diagram — then leave. Tool inputs are not saved; only what you choose to keep (Document and JSON / YAML tabs, and the diagrams you save to a Library) is stored in your encrypted workspace.

  • Encode · Base64 / URL / JWT (display only, no verify)
  • Hash · MD5, SHA-1, SHA-256, SHA-512
  • Text · UUIDs, case convert, live regex tester
  • Time · Unix epoch + 5-field cron explainer
  • Codegen · JSON → TS / Java / Go · curl → fetch / axios / Python / Java / Spring / Go
  • ERD + Sketch · save named diagrams to a Library (explicit Save), or export PNG / JSON

Reload clears tool inputs. That is intentional — your encrypted notes and todos stay out of the clipboard playground.

curl -X POST 'https://api.example.com/v1' \
  -H 'Content-Type: application/json' \
  -d '{"ok":true}'

→ fetch / axios / requests / RestClient / net/http

JSON sample → TypeScript interfaces
            · Java classes · Go structs

ERD / Sketch → Export PNG or JSON
            · never autosaved to workspace

BYO key · No proxy · Off by default

AI that joins the workspace, not the data pipeline.

Cadence's AI assistant talks straight from your browser or desktop to the provider or gateway you chose. Your key is stored next to your data (in the same encrypted file). We can't see your prompts, your replies or your usage — there is no Cadence server in the loop.

Classify with AI on the Planning matrix: suggestions with a reason for each task
Classify the matrix Reads each task and the notes linked to it, says why, and lets you keep only the rows you agree with.
A system diagram drawn by AI in the Sketch board, boxes connected by labelled arrows
Draw from a description Say what the diagram should show and get a board of boxes and arrows in seconds. Ask for changes in plain words.
Ask your workspace: an answer with numbered citations to notes and tasks
Ask your workspace Answers cite your own notes and tasks. Only short excerpts leave your computer, and locked notes are never read.

Extract tasks

Turn a note, a selection or a transcript into a task list. Each suggestion comes with a list and a due date, you review them, and nothing is added until you say so. Start it from the /extract slash command, the ✨ menu on a selection, or ⌘K.

Knows today's date and your lists

Ask AI on a task

Stuck on a task? Choose a focus and the assistant answers with the task's list, due date and priority in mind. Follow up in the same conversation, then save the answer to the task.

Plan · Risks · First 15 minutes

Visualize

Select text and turn it into a Mermaid flowchart, sequence or state diagram. You see the picture first, its syntax is checked before it is offered, and it is inserted as a new block after your selection.

Flowchart · Sequence · State

Challenge my idea

A critical read of a note: assumptions, risks, alternatives and open questions, grounded in what you wrote. Added as a separate block at the end, only when you say so.

Never rewrites your note

Break down a task

Split a task into small steps you can edit, then keep them as a checklist in the task's details or create them as separate tasks in the same list.

Checklist or new tasks

Feedback: SBI, Radical Candor, review

Restate feedback as Situation, Behavior and Impact, as Radical Candor, or as a review draft, using only what you wrote. It is people data, so it only goes to a connection you allowed, and ⌘Z brings your text back.

SBI · Radical Candor · Review draft

Classify the matrix

Suggests whether unsorted tasks are important and urgent on the Planning matrix, reading each task's title, details, due date and the notes it is linked to. Every suggestion comes with a reason; you keep the rows you want, hand an urgent-but-not-important one to a teammate, and one click undoes it.

Do first · Schedule · Delegate · Eliminate

Tidy a document, invent sample data

Turn a rough document into an outline, an RFC, a meeting summary or a table, then draw it as a Mermaid note or a Sketch board. Or generate records shaped like your sample JSON. Everything lands as something new; your original stays.

New tab, never a replacement

Design tables, convert a sketch

Describe tables in words and tick what to add to your ER diagram, or turn a whiteboard sketch into a Mermaid diagram as a new note. Existing work is never changed.

Additive only

Draw from a description

Say what the diagram should show and get a Mermaid note or a Sketch board with boxes and arrows, then ask for changes ("add a cache"). It is added as something new; nothing existing is touched.

Mermaid or Sketch · Follow-up changes

Diagram from a screenshot

Pick or paste a picture and get Mermaid or an HTML mock-up as a new note. You see the picture before it is sent, and HTML is shown in a frame without scripts.

Needs an image-capable model

Weekly digest

A retrospective, or a status update to send upward, written from the titles and counts of your week. It streams in as it is written; locked notes and people records are never read.

Retro · Upward

Prepare a 1:1

Follow-ups, open goals, feedback to give and questions from one person's records, without sending their name. Saved as a note on the person only when you say so.

People data, gated

Ask your workspace

Ask a question and get an answer that cites your own notes and tasks, each a link. The best matches are found on your computer and only short excerpts are sent.

Citations · Optional search by meaning

Your provider, or your own gateway

Anthropic Claude, OpenAI ChatGPT, Google Gemini, or a custom gateway: any router, proxy or model server, including one your company runs. Set the address, key and model, and pick the API format it speaks.

OpenAI Chat · OpenAI Responses · Anthropic · Gemini

Several connections, routed

Keep more than one connection and choose which one serves notes and tasks and which serves people data. A built-in check tells you whether a connection returns reliable JSON.

Feature routing in Settings

People data stays under your control

1:1 and feedback context only goes to connections you explicitly allow. A model running on this computer is allowed by default; hosted providers and company gateways are not. Each result shows what was read and what was sent.

Allowed per connection

Off completely

No key, no AI — the rest of the app works exactly the same. The whole AI surface is gated behind "is a connection configured?" so an offline workspace is the default, not a degraded mode. Organizations can switch AI off, or limit it to approved hosts, by policy.

No telemetry either way

Encrypted backups · Additive merge · No cloud account

Move data between devices — without a sync service.

Cadence keeps your workspace on this device. When you want the same data on a phone or another laptop, export an encrypted portable backup, carry it however you already trust (AirDrop, Files, USB), and merge it in. No Google account, no LAN pairing, no Cadence server in the middle.

Portable ZIP

Workspace + images · All platforms

  • One file you can AirDrop or copy to USB
  • Includes note attachments when present
  • Works in the desktop app and the PWA

Best for: day-to-day device moves

Full backup folder

Desktop · Includes note history

  • Version history alongside attachments
  • Same recovery UI as rolling snapshots
  • Your AI keys are never written into an export
  • Ideal for archival / machine migration

Best for: desktop restore & archives

Encrypted backup file

Export a portable ZIP — your workspace JSON plus image attachments — wrapped with the same on-device encryption as your data file. Move it however you already trust: AirDrop, Files, a USB stick. Nothing ever touches a Cadence server.

Portable ZIP · workspace + images

Additive merge

Importing folds the file into the device's current workspace — every local item is kept, and only entities you don't already have are appended. Dedupes by id and by content signature, so the same note made on two devices won't import twice.

Lossless · dedupe by id + content

Never overwrites, never locks you out

A merge can't replace or delete anything you already have, and it never touches local config — your profile, active team and notes passphrase stay put. Re-importing the same file is a no-op, so it's always safe to run again.

Idempotent · config-safe

50 rolling snapshots on this device

Separately from portable exports, every save keeps a local snapshot (launch / pre-save / pre-restore, …). Restore from Settings → Data & backup with per-snapshot counts — no network required.

Local only · bounded disk use

What "local-first" actually means here

Some "local-first" apps mean "we sync your data through our cloud and call it caching". Cadence is the stricter version.

Where your data lives

On macOS: ~/Library/Application Support/Cadence/. On Windows: %APPDATA%\Cadence\. On Linux: ~/.config/cadence/. Trashing the app does not delete your data — the data folder lives outside the application bundle.

What survives a crash

Every save opens a sibling .tmp, writes, calls fsync, then atomically renames. A power loss mid-write leaves either the old file or the new file — never a half-written one. Worst case: ≤ 400 ms of unflushed typing.

Backups, by default

Every save snapshots the previous file into backups/<userId>/. 50 rolling slots labelled launch / post-login / pre-save / pre-pwchange / pre-restore — oldest pruned automatically so disk use stays bounded. On desktop you choose how many daily backups and snapshots to keep, and lowering the number shows what will be deleted before anything is. Settings → Backup & recovery combines manual export/import with snapshot restore; each snapshot shows teams / lists / tasks / notes counts and restores with a clear "Loaded: …" confirmation.

Archive without deleting

Notes and to-dos support an Active · Archived segment. Shelving hides items from default views (and archived notes from ⌘K search) while keeping them in your encrypted workspace until you delete them. Settings shows a per-area storage breakdown so you can see what archived content still occupies.

Efficient desktop storage

Large workspaces are split into monthly files on disk for performance, while the base file keeps a full copy for safety if you ever open an older Cadence build. You never need to manage these files — the app reads and writes them automatically.

Integrity check on boot

After each successful save, Cadence remembers how much content you had. If the next launch loads a meaningfully smaller workspace, an amber banner spells out the before/after counts and links straight to recovery — catching "my data vanished" before it becomes a support ticket.

Refuse-to-overwrite

If the data file exists but can't be decrypted with the current session key, the writer refuses. You can't accidentally destroy a locked workspace with one character's worth of state after a bad login.

Device transfer via encrypted backup

There is no cloud sync service in Cadence. To move data between devices, export an encrypted portable ZIP from Settings → Data & backup and merge it on the other device. Merge is additive and idempotent — it never overwrites or deletes what you already have. See the Backup section above for the full story.

No telemetry. Period.

Cadence makes zero network requests on its own. The auto-updater hits GitHub Releases. The AI assistant hits whichever provider or gateway address you configured. Nothing else dials home.

Get Cadence

Use the web app from any device, or install the signed desktop build for the full encryption + auto-update story.

Web · PWA

Try in the browser

The PWA build runs anywhere modern. Add it to your iOS or Android home screen and it behaves like a native app — data lives in browser storage on that device.

Open the web app

No account in the cloud. Data stays on the device's storage.

Windows · Linux

Experimental local build

The code runs cleanly on both. There's no signed CI release yet — build locally from source with the documented one-line setup. Encryption + backup + auto-update all behave the same.

Read the build notes

Promoted into CI when there's real demand.

A workspace that respects your time, your data, and your evening.

Local-first storage · Encrypted backups · Developer tools · Optional AI · Free and open source.