TaskNotes is a task manager for the web, iPhone, iPad, and Android. It lets you capture and organise work while keeping your tasks as structured Markdown records in an mdbase collection.
Open TaskNotes · Try a disposable demo
- Capture, edit, complete, search, and reorder tasks
- Organise work with saved lists, boards, and calendars
- Set due and scheduled dates, priorities, recurrence, and reminders
- Track time and attach images
- Use Scratchpad to turn a rough outline into selected tasks
- Switch between system, light, and dark appearance
- Inspect the Markdown path behind a task whenever you want it
mdbase is an open specification for treating folders of Markdown files as typed, queryable collections. Records remain ordinary Markdown documents, while their frontmatter gives applications a shared way to understand fields such as a task's status, priority, and due date.
TaskNotes uses mdbase Connect to request access to a collection. You choose the collection and approve what the app may do, whether its files are hosted online or kept on a connected computer. Access can be changed or revoked later.
See the mdbase overview for an introduction or the mdbase specification for the technical details.
TaskNotes works with mdbase collections. You can choose a hosted collection or one made available by a connected computer; the same TaskNotes features and terminology apply to both.
Your collection—not the browser or app—is the durable home of your tasks. TaskNotes does not create a separate IndexedDB copy or open folders directly on your device. Each task remains a Markdown record that can be used beyond the app.
This also means TaskNotes is not an offline-first app:
- A hosted collection needs an internet connection.
- A connected-computer collection needs that computer to remain reachable.
- A change is saved once the selected collection has accepted it.
Task reminders are delivered by mdbase, so TaskNotes does not need to remain open. Reminder notifications contain no task titles, descriptions, paths, or record content.
For collections upgraded from the Obsidian plugin's v4 release, see Opening a collection upgraded from TaskNotes v4 for first-connection consent and App-version guidance.
The demo opens an in-memory collection with generated tasks. It supports the main capture, editing, views, search, completion, time-tracking, and Scratchpad flows without connecting to or changing a real collection.
Demo data is disposable and resets when you reload the page. Change the number
in ?demo=30 to generate a different number of tasks, up to 5,000.
The portable-people feature branch adds person-ID assignments and an Assigned to me search filter. See People and assignments for setup, consent, portability and coordinated-release requirements.
TaskNotes is a web-first application packaged for Android and iOS with
Capacitor. It requires Node.js, pnpm, and the package snapshots committed under
vendor/.
pnpm install
pnpm devThe development server runs at http://127.0.0.1:4173. For a local demo, open http://127.0.0.1:4173/?demo=30.
Run the main verification suite with:
pnpm verify
pnpm test:e2e
pnpm test:production-smokePublish the current working tree to the isolated TaskNotes LAB surface with:
pnpm dlx wrangler@4.114.0 login # first use only
pnpm deploy:devLAB is the fail-closed default. The command builds a web-only manifest for
https://lab.tasknotes-app.pages.dev, connects it only to
https://connect-lab.mdbase.dev and the isolated connector on
127.0.0.1:28487, deploys only the Cloudflare lab branch, then verifies the
built artifacts and live application. Unknown targets and URL overrides from a
different environment are rejected. It does not change staging or the
production app.tasknotes.dev deployment.
Deploying the separate staging surface remains explicit:
MDBASE_ENV=staging pnpm deploy:devThat command targets https://staging.tasknotes-app.pages.dev, staging Connect,
and the Cloudflare staging branch.
To update the native projects, run pnpm cap:sync. Android builds require Java 21. On macOS, open the iOS project with pnpm exec cap open ios.
Contributor documentation:
- Web deployment and production gate
- Architecture and data invariants
- Contract and conformance claims
- Notification behaviour and setup
- Android signing and Google Play closed testing
- iOS signing and TestFlight
- Vendored package snapshots
TaskNotes is under active development. Its native app identifier is
dev.tasknotes.app; it can be installed alongside the earlier
tasknotes-mobile build during testing.