EN
Back to all work
PROJECT / canvas-tool-local

Canvas

An interactive board for notes, images, files, drawings, tables, and nested boards. Accounts, sharing, uploads, and backups run entirely locally on a personal server.

Its main advantages over popular existing tools are fully local operation, unique note types, and API access to notes.

Next.js Node.js TypeScript React SQLite
Try it out ↗ user: guess, pass: guess

Features

self-hosted workspace

A fully local interactive board

The project combines an infinite board with structured cards, nested workspaces, search, history, and private sharing.

Workspace

  • notes, tasks, files, tables, charts, diagrams, drawings, and images
  • nested boards, indexed search, and revision restore
  • per-board sharing with live updates

Host

  • Node.js service with SQLite and local uploads
  • Caddy HTTPS and authenticated file access
  • automatic updates from GitHub, rollback, and verified backups

Components

self-hosted workspace
Frontend
Next.js 16, React 19, TypeScript
Runtime
Node.js 22, standalone systemd service
Storage
SQLite and local uploads, per-account quotas and file reconciliation
Access
Private accounts and per-board sharing, live cross-session updates
Files
Resumable uploads and rich previews, authenticated download routes
Operations
Caddy HTTPS, health checks, atomic releases, rollback
Backups
Daily verified archives, SQLite integrity, foreign key, checksum, and upload checks