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

  • Your data stays yours: Tasks are human-readable Markdown files in the Open Knowledge Format (OKF), one folder per project. They stay accessible without Jotter, and project folders work inside an Obsidian or other PKM vault.
  • Built for hundreds of open tasks: Kanban columns, list view, an Eisenhower Matrix and a time view, plus a search language and filters to fight task flooding. Dates, tags and priorities go straight into the task title.
  • Local-first and fast: Runs entirely on your computer. A local SQLite index is rebuilt from your files whenever it is missing.
  • Git history: If your vault is a Git repository, Jotter commits your changes locally and can restore any project or the whole workspace from the history. Pushing and pulling stay in your hands, as does any file sync tool.
  • Android app: A lean, touch-first app with the core of the desktop app, fully offline on local Markdown files. Sync with your desktop via Syncthing, Git or a cloud drive.
  • AI-ready and multilingual: Connect AI assistants through the Model Context Protocol (jotter mcp, optional: pipx install 'jotter-app[mcp]'). English and German.

📦 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.15.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.15.0
File Size Uploaded
jotter_app-4.15.0.tar.gz 2.0 MB Details

Built distribution (wheel)

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

Total release size: 3.1 MB

Release files / jotter_app-4.15.0.tar.gz

Download URL jotter_app-4.15.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
b0a8303ff5763a4cfd6e4ab322a756086e6f64d0f16a26131a3b1c86f0d44e36
BLAKE2b-256 checksum
How to use checksums
80ac9e1572d72e8dd4d26c422ad2e4d6fb8b3ab8f2091f8276d025ea03d83399
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 14, 2026.

Transparency log

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

Download URL jotter_app-4.15.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
519805d1175d6d35accc1efd6dcc4dd9c196e38f53ff8056cd467a6992982ada
BLAKE2b-256 checksum
How to use checksums
5f815a81406c7688141beb74cb154f3d3a3a875560c14606ec4eeae22ce7b609
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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

4.15.0 This release

2 release files

4.14.0

2 release files

4.13.0

2 release files

4.12.0

2 release files

4.11.1

2 release files

4.11.0

2 release files

4.10.0

2 release files

4.9.0

2 release files

4.8.0

2 release files

4.7.0

2 release files

4.6.0

2 release files

4.5.1

2 release files

4.5.0

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