Skip to main content

Jotter

Build Status Coverage Python Version Vue Version Lines of Code Latest Release License

🚀 Try the Online Demo: simon123h.github.io/Jotter/demo/

Jotter is a local-first, privacy-focused task management web application designed to help you organize tasks without losing data ownership. Modeled as a Markdown Kanban board, Jotter helps combat "task flooding" through filtering and an intuitive UI, all while storing your data locally in Open Knowledge Format (OKF) compliant plain-text Markdown files. The integrated git support allows for syncing tasks seamlessly across devices.

Documentation: simon123h.github.io/Jotter


🌟 Key Features

  • Data Ownership & Portability: Tasks are stored as human-readable .md markdown files. Your data remains yours, fully accessible even if you stop using Jotter. The files are formatted according to the Open Knowledge Format (OKF).
  • Combat Task Flooding: Built for dealing with hundreds of open tasks.
  • Flexible Views: Organise tasks your way with Kanban columns, list view, a priority-based Eisenhower Matrix, and a chronological Time View grouping by due dates.
  • Smart Task Creation: Create rich tasks quickly with keywords for tags, due dates or priorities in the task title.
  • Offline-First & Local Index: Runs entirely on your computer with a lightning-fast local SQLite database index. If the database index is ever deleted, the system automatically rebuilds it instantly from your markdown files.
  • Local Git Versioning: If your vault is a Git repository, Jotter snapshots your changes as local commits. Pushing, pulling, and sharing stay in your hands, using your own Git workflow or any file sync tool.
  • Git-Backed Time Machine: Roll your workspace or individual projects back to any historical snapshot in your Git history using a dedicated, searchable, and spacious dialog. Automatically creates pre-restore backup commits so you can revert any rollback operation at any time.
  • Multi-Language Support: Fully localized in English and German.
  • Model Context Protocol (MCP) Support: Connect AI assistants directly to your local Kanban board via jotter mcp (optional: install with pipx install 'jotter-app[mcp]').
  • Excel & CSV Import & Export: Seamlessly import tasks, checklists, priorities, and custom columns from any standard Excel or CSV spreadsheet with support for sheet auto-detection, interactive previews, and custom mappings. Export all tasks from your current filtered view as .xlsx or .csv client-side.
  • Obsidian & PKM Native: Project directories include an index.md manifest compatible with Obsidian Folder Notes and PKM namespaces, allowing task boards to live directly within your personal knowledge vault.
  • Android App: Carry your tasks in your pocket with a lean, touch-first Android app. It covers the core (vaults, projects with pinning, board, tag and planning views with a tick circle and bulk edits, the desktop's search language, postponing, attachments, markdown notes, themes including True Black), operates 100% offline on local Markdown files, and syncs with your desktop via Syncthing, Git, or cloud drives.

📦 Quick Start

No cloning or Node.js required—just Python:

pipx run jotter-app

Or install globally in an isolated environment:

pipx install jotter-app
jotter

Option 2: Android Mobile App (.apk)

Download the signed jotter-*-android.apk from GitHub Releases and install it on your Android phone. No server or internet connection required. Point it to your synced Markdown folder (via Syncthing, Git, etc.) for cross-device synchronization.

Option 3: Run from Source

  1. Clone the repository:
    git clone https://github.com/simon123h/jotter.git
    cd jotter
    
  2. Install dependencies:
    pip install -e .
    
  3. Start the server:
    jotter
    # or: python3 run.py
    

Open your browser at http://localhost:58271.

Jotter works out of the box with these defaults:

  • Config and default vault: Jotter uses standard OS-specific directories (XDG standard paths on Linux, AppData on Windows, Application Support on macOS). A ./jotter.yaml in the folder you start Jotter from takes precedence over the global one.
  • Auto-Config Generation: If no configuration file exists at all on startup, Jotter will automatically create a default, annotated jotter.yaml template file for you at the default location.

For advanced customization and full directory details, please see the user configuration documentation.


🛠️ Development & Testing

# Install the dependencies of the backend, the apps and the shared packages
npm run install:all

# Run the backend and the web dev servers concurrently
npm run dev

# Run all test suites (Pytest + Vitest)
npm run test

# Run the web app's E2E browser tests (Playwright)
cd apps/web && npx playwright test

📖 Documentation

The complete documentation is available at simon123h.github.io/Jotter/.

Alternatively, you can refer to the raw Markdown source files in the docs/ folder:

Metadata

Release files for jotter-app 4.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jotter-app 4.5.0
File Size Uploaded
jotter_app-4.5.0.tar.gz 2.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for jotter-app 4.5.0
File Interpreter ABI Platform
jotter_app-4.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.5 MB

Release files / jotter_app-4.5.0.tar.gz

Download URL jotter_app-4.5.0.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
4d5d07c9d699ca9c76dfe8703d508c0ab1147de68e7a89e1cf1f7998910c099f
BLAKE2b-256 checksum
How to use checksums
e803e8e75f173c2a744731c28a7620a3b1724b4c7e12ae57867124a84a1f91c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release files / jotter_app-4.5.0-py3-none-any.whl

Download URL jotter_app-4.5.0-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
2b010511be1db4e3eb5fce824d393f22bfb2257ba67bc434d7ed7ec69e2868d2
BLAKE2b-256 checksum
How to use checksums
3476b842be1b27db22a6c7ad27ac3e2a365b4190477893c78e5a27c369caaf03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

4.5.1

2 release files

This release

4.5.0 This release

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.11.2

2 release files

3.11.1

2 release files

3.11.0

2 release files

3.10.4

2 release files

3.10.3

2 release files

3.10.2

2 release files

3.10.1

2 release files

3.10.0

2 release files

3.9.11

2 release files

3.9.10

2 release files

3.9.9

2 release files

3.9.8

2 release files

3.9.7

2 release files

3.9.6

2 release files

3.9.5

2 release files

3.9.4

2 release files

3.9.2

2 release files

3.9.1

2 release files

3.9.0

2 release files

3.8.3

2 release files

3.7.4

2 release files

3.7.3

2 release files

3.7.2

2 release files

3.7.1

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.9

2 release files

3.0.8

2 release files

3.0.7

2 release files

3.0.6

2 release files

3.0.4

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page