Skip to content

Repository files navigation

Planer

Visual planning, without the overhead.

A fast, local-first Windows workspace for diagrams, workflows, architecture, and visual thinking.

Open → Draw → Connect → Organize → Explain → Export

Latest release Planer CI Windows Local first Tauri

Download the latest Windows release · Product blueprint · Changelog

Important

Planer is in early development. Version 0.1.0 establishes the desktop, project, board, canvas, autosave, and export foundation. Back up important work using .planer export while the native file workflow is still evolving.

Why Planer exists

Most diagram tools force a choice between a generic drawing surface and a heavy project platform. Planer is being built for the space between them: an immediate infinite canvas wrapped in a focused project and multi-board workflow.

It is intended for:

  • flowcharts, mind maps, and concept maps;
  • system, API, database, and user-flow diagrams;
  • broadcast, studio, and production workflows;
  • product architecture and feature planning;
  • visual notes, technical explanations, and decision maps.

Planer uses the Excalidraw package as its canvas engine, but it is an independent product—not an Excalidraw fork and not a continuation of the repository's former draw.io scaffold.

What works today

Area Available in 0.1.0
Canvas Infinite canvas, shapes, text, connectors, free draw, image, eraser, frames, selection, grouping, alignment, zoom, pan, undo, and redo through Excalidraw
Projects Local launcher; create, open, rename, and delete projects
Boards Multiple independent boards; create, switch, rename, duplicate, and delete
Persistence Debounced autosave to local IndexedDB
Appearance Light and dark workspace modes
Export Complete project as .planer JSON; active board as .excalidraw JSON
Privacy No account, login, telemetry, cloud sync, or network dependency for normal use
Desktop Tauri v2 Windows application with MSI and NSIS installer targets

Install on Windows

  1. Open GitHub Releases.
  2. Download the .exe installer for the simplest setup, or the .msi package for managed Windows deployment.
  3. Run the installer and launch Planer.

Every published release is built by GitHub Actions from the verified main branch. Development builds and temporary CI artifacts are not treated as releases.

Note

Windows may show a reputation warning for early unsigned builds. Verify that the installer came from this repository's Releases page before continuing.

The Planer workflow

Project
├── Overview
├── Architecture
├── User Flow
├── Database
└── Notes

Each board owns its own canvas scene. Switching boards preserves the scene inside the active project, and project changes are saved automatically on the device.

The current .planer format is readable JSON containing project metadata, settings, boards, and their scene data. It is an early format: native import, packaged assets, migrations, and a stable public file specification are still planned.

Data, privacy, and backups

Planer is local-first by design:

  • project state lives in the application's local IndexedDB database;
  • canvas edits are autosaved on the device;
  • no telemetry or analytics are implemented;
  • no Planer account or remote service is required;
  • clearing application/WebView data can remove locally stored projects.

Until native open/import and backup recovery are complete, regularly export important projects as .planer files and keep those files in a separate backed-up folder.

Architecture

flowchart TD
    A["Planer AppShell"] --> B["Project Launcher"]
    A --> C["Workspace"]
    C --> D["Board Management"]
    C --> E["Excalidraw Canvas"]
    D --> F["Zustand Store"]
    E --> F
    F --> G["IndexedDB Autosave"]
    F --> H["Planer / Excalidraw Export"]
Loading
Layer Technology Responsibility
Desktop Tauri v2 Native window, Windows runtime, MSI and NSIS packaging
UI React 18 + TypeScript Launcher, workspace, board bar, and actions
Build Vite 7 Development server and production frontend bundle
Canvas Excalidraw 0.18 Scene rendering and drawing interaction
State Zustand 5 Active view, theme, project, and board state
Persistence IndexedDB Local project storage and autosave
Icons Lucide React Product interface icons

Development

Requirements

  • Node.js 20 or newer
  • npm 10 or newer
  • Rust stable toolchain
  • Tauri v2 platform prerequisites
  • On Windows: Microsoft C++ Build Tools and WebView2

See the official Tauri prerequisites for complete platform setup.

Start the web workspace

git clone https://github.com/sufyanaser/Planer.git
cd Planer
git switch develop
npm ci
npm run dev

The Vite development server runs at http://localhost:1420 by default.

Start the desktop application

npm run tauri dev

Validate a change

npm run check:version
npm run lint
npm run build

Build Windows installers

npm run tauri build

Installers are produced under src-tauri/target/release/bundle/nsis/ and src-tauri/target/release/bundle/msi/.

Commands

Command Purpose
npm run dev Start the Vite development server
npm run build Type-check and build the production frontend
npm run lint Run ESLint with zero warnings allowed
npm run check:version Verify npm, Tauri, and Cargo versions are identical
npm run preview Preview the production frontend
npm run tauri dev Run the native desktop shell in development
npm run tauri build Build the native desktop installers

Repository layout

Planer/
├── .github/workflows/       # CI and release publishing
├── docs/                    # Product and architecture documents
├── scripts/                 # Repository validation scripts
├── src/
│   ├── components/          # Launcher, workspace, canvas, and board UI
│   ├── services/            # Project creation and local persistence
│   ├── store/               # Zustand state
│   ├── styles/              # Product styling
│   └── types.ts             # Project and board contracts
├── src-tauri/               # Rust shell, Tauri config, and app icons
├── CHANGELOG.md
└── package.json

Branch and release policy

Branch Purpose
develop Source of truth for active development
main Verified release source only

A release is not merely an Actions artifact. The repository follows this gate:

  1. make a focused change from develop;
  2. keep package.json, src-tauri/tauri.conf.json, and src-tauri/Cargo.toml versions aligned;
  3. update CHANGELOG.md;
  4. pass version check, lint, and production build;
  5. build both Windows installer formats in CI;
  6. promote the verified commit to main;
  7. create the version tag and GitHub Release;
  8. attach the .exe and .msi installers to the Release.

Failed validation or packaging blocks publication. A new installed build must use a new version number.

Roadmap

Foundation

  • Tauri, React, TypeScript, and Vite baseline
  • Project launcher and workspace shell
  • Excalidraw canvas integration
  • Project and multi-board state model
  • IndexedDB autosave baseline
  • .planer and .excalidraw export
  • Automated Windows installer and Release pipeline
  • Native project open/import and backup workflow

Core product

  • Stable .planer specification and migrations
  • Native filesystem persistence through Tauri
  • Board reordering and project-level search
  • PNG, SVG, PDF, and clipboard export
  • Planer-level grid and snap controls
  • Automated UI and desktop end-to-end tests

Structured planning

  • Smart planning nodes
  • Quick Connect
  • Auto Layout
  • Templates
  • Search across boards

The detailed scope and product boundaries live in the Planer Product Blueprint.

Deliberate V1 boundaries

V1 does not include accounts, cloud sync, team workspaces, real-time collaboration, chat, video, AI, a plugin marketplace, Kanban management, 3D, animation, or a presentation engine. These exclusions protect startup speed and the stability of the core canvas and data model.

Contributing and security

Planer is still in foundational development. Discuss large features in an issue before implementation, keep changes focused, and report the validation commands used. See CONTRIBUTING.md for the branch, validation, and UI evidence requirements.

Do not report security vulnerabilities in a public issue. Use GitHub private vulnerability reporting.

License

No open-source license has been selected. Unless a license is added, no permission is granted to copy, modify, or redistribute the source beyond rights provided by applicable law.


Planer
Focused visual planning. Local by default.

About

Fast, local-first Windows workspace for diagrams, workflows, architecture, and visual thinking.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages