Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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, intuitive UI, all while keeping your data stored locally in simple, plain-text files on your own machine. The integrated git support allows for syncing the tasks across devices.

Documentation: simon123h.github.io/Jotter

Jotter Kanban Board Screenshot


🌟 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.
  • 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.
  • Selective Per-Project Git Sync: Enable synchronization for individual projects by connecting them to different Git remotes. Keep "Home" local while sharing "Work" with a team.
  • 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.
  • 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.

📦 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: Standalone Executable (Zero Python Required)

Download the pre-compiled jotter-server executable from GitHub Releases for Windows, Linux, or macOS. No runtime or build tools needed.

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 automatically handles both portable and global configurations out of the box:

  • Portable Mode (Self-Contained): If a tasks/ directory is present in the folder you execute Jotter from, tasks will default to ./tasks and configurations to ./jotter.yaml in that folder.
  • Global / Installed Mode: Otherwise, Jotter uses standard OS-specific directories for both data and settings storage (such as XDG standard paths on Linux, AppData on Windows, and Application Support on macOS).
  • 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 frontend and backend dependencies
npm run install:all

# Run backend and frontend dev servers concurrently
npm run dev

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

# Run frontend E2E browser tests (Playwright)
cd frontend && 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 3.0.2b1

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 3.0.2b1
File Size Uploaded
jotter_app-3.0.2b1.tar.gz 1.5 MB Details

Built distribution (wheel)

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

Total release size: 2.6 MB

Release files / jotter_app-3.0.2b1.tar.gz

Download URL jotter_app-3.0.2b1.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
39a9eb583f6f17c0b9f596d222bfab8f8d97985fa81a85835701fd7b6176e4c3
BLAKE2b-256 checksum
How to use checksums
f0eb85e1b6a77f6481b37d532d4183b52034ae9ee2383eefe4661ac707e03796
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 Aug 27, 2026.

Transparency log

Release files / jotter_app-3.0.2b1-py3-none-any.whl

Download URL jotter_app-3.0.2b1-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
35d105f378ef7d8db0acc178587bb6cb12a4a35caf6569a44a59a22c69e6ed90
BLAKE2b-256 checksum
How to use checksums
9f590a42cb75005e61d8873ecad8a7f1954c63979e56e38a25d18a91b002d07d
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 Aug 27, 2026.

Transparency log

Release history Release notifications | RSS feed

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

This release

3.0.2b1 This release

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