Multi-User Kanban Dashboard

Pane

Organize links, notes, and documents into draggable columns.
Built with SvelteKit 2, Svelte 5 & SQLite.

SvelteKit 2 Svelte 5 Runes SQLite SSR + API Real-time SSE
Core Experience

The Kanban Board

Drag-and-drop columns and cards. Drop URLs, files, or entire folders directly onto a column.

My Space ▾ / Search... Tags + New
Getting Started 3
link
Svelte Documentation
Tutorial Beginner
note
Setup Instructions
Reference
document
architecture.pdf
Docs
In Progress 2
note
API design notes
Backend
link
MDN Web Docs
Tutorial
Resources 2
document
wireframes.png
Docs Reference
link
GitHub Repository
Beginner
Content Types

Three Ways to Capture

🔗

Links

Paste a URL — Pane auto-fetches the page title, description, and favicon. Click to open in a new tab.

Notes

Write in full Markdown with headings, code blocks, and more. Rendered with syntax highlighting and sanitized HTML.

📄

Documents

Upload files up to 100 MB. Inline preview for images, PDFs, video, audio, and text files with code rendering.

Organization

Spaces & Hierarchy

Isolated workspaces with nested subcategories for deep organization.

🏠

Multiple Spaces

Each space has its own categories, items, and file storage. Switch instantly from the dashboard or toolbar dropdown.

📁

Subcategories

Nest categories for deeper structure. Drill down with breadcrumb navigation. Promote or demote categories freely.

🏷

Tags & Filtering

Colored tags shared across spaces. Filter by multiple tags combined with full-text search across titles and content.

🔎

Full-Text Search

Press / to search. Matches auto-expand subcategories. Combines with tag filters for precise results.

Collaboration

Share & Chat

Share spaces with other users. Collaborate in real-time.

Real-time Features

  • Live chat in shared spaces
  • Presence indicators (online dots)
  • SSE-powered instant updates
  • Read-only & read-write permissions
  • Owner can clear chat history
Customization

Theming & Appearance

Light, dark, and system themes. 8 accent palettes. 4 sans-serif + 4 monospace font choices.

Indigo
Blue
Teal
Green
Orange
Red
Pink
Grey

Sans-serif

System · Fira Sans · Inter · Ubuntu

Monospace

System · Fira Code · JetBrains Mono · Source Code Pro

Security

Auth & Administration

🔒

Multi-User Auth

Invite codes, email verification, session-based login, password reset. Scrypt password hashing.

👤

Single-User Mode

Set SINGLE_USER=true for self-hosting without authentication. Zero config.

🛡

Admin Panel

Generate invite codes, manage users, view storage usage, set per-user quotas, block accounts.

Rate Limiting

In-memory per-IP: 100 req / 60s on all API routes

Security Headers

CSP, XSS protection, DOMPurify sanitization, SSRF guards

Productivity

Drag, Drop & Import

👁

Drag & Drop

Reorder columns and items. Drop URLs to create links. Drop files to upload. Drop .webloc files to auto-convert to links. Drop .md files as notes.

📂

Folder Import

Drop an entire folder onto a column. Subfolders become subcategories. All files are imported automatically.

📦

Export / Import

Back up spaces as ZIP archives. Import with preview, conflict resolution (skip / rename / replace), and optional file inclusion.

📋

Activity Changelog

Every space tracks all changes. Click entries to navigate to items. In shared spaces, see who made each change.

Efficiency

Keyboard Shortcuts

/  or  Ctrl + KFocus search
Ctrl + NNew item
Ctrl + Shift + NNew category
EscapeClose modal / overlay / clear search

Full SSR — fast first paint

🔒

Privacy-first — all data local

🌐

Self-hosted fonts — no CDN calls

Under the Hood

Architecture

Per-user SQLite databases + central auth DB. Clean data flow from server to client.

hooks.server.ts
+layout.server.ts
+page.server.ts
BoardStore
API routes
SQLite

data/{userId}.db

Per-user DB: spaces, categories, items, tags, changelog

data/_auth.db

Central: users, sessions, invite codes, space shares, chat

Svelte 5 Runes
$state, $derived, $effect

Sync SQLite
.run(), .get(), .all()

SSE Events
Real-time notifications

Deployment

Get Started in Seconds

# Quick start with Docker
docker run -d -p 3000:3000 \
  -v ./data:/app/data \
  -v ./storage:/app/storage \
  ghcr.io/tomgem/pane:latest

# Or from source
git clone https://github.com/TomGem/Pane.git
cd Pane
pnpm install && pnpm dev
🐳

Docker

One command deploy with persistent volumes

Node.js

adapter-node for production builds

CI/CD

GitHub Actions auto-publish to GHCR on tagged releases

Summary

Pane

A complete, self-hosted Kanban dashboard for teams and individuals.

📋

Links, Notes & Docs

👥

Multi-user + Sharing

🎨

Theming & Palettes

🔒

Private & Self-hosted

📁

Subcategories

💬

Real-time Chat

📦

Export & Import

🐳

Docker Ready

MIT Licensed — github.com/TomGem/Pane