An open-source teaching whiteboard for browsers, Windows and Android smartboards. Write, annotate documents, arrange slides and record lessons with an offline local library.
Try the web preview | MIT license · Setup · Features · Builds and releases · Changelog
Version 0.2.0-dev.4 — development preview. Contributions and bug reports are welcome; this is not a stable production release. Web workflows are tested; native installers and physical smartboard behavior still need device validation. Familiar classroom workflows are independently implemented, without redistributing Note3 or Excalidraw source/artwork.
Download APK, Windows EXE and web ZIP. Version tags automatically publish development prereleases with checksums and source code. Development APKs use a test/debug signature; Windows installers are unsigned. Native builds pass CI, but real smartboard validation is still needed.
Actual application screens with synthetic teaching examples:
| Import a document | Explore the periodic table |
|---|---|
![]() |
![]() |
Use Node.js 24 and npm:
npm ci
npm run devOpen the displayed local URL, choose teaching defaults, and create a lesson. No account, subscription, paid API or other service is required. Setup supports your own app name/icon, board pattern, background, default pen color, watermark, physical ruler calibration, backup folders and optional Ollama assistant.
- Normal, paint and crayon pens, highlighter, partial/whole-object erasing, blinking laser, editable text, conservative smart shape recognition, undo/redo, multi-selection and corner resizing.
- Thirteen shapes; separate stroke/fill colors, thickness, solid/dashed/dotted lines, hatched/crosshatched fills and rounded rectangles.
- Transparent ruler, set square, protractor and compass with attached move/rotate/stretch grips, edge tracing, angle adjustment and arc/circle sweeps.
- Hand tool for panning into extra board space; original-position reset, zoom and fit-to-content.
- Slide thumbnails, visible Previous/Next buttons, mouse/touch/keyboard reorder, duplicate/add/delete and durable page order.
- Images, PDFs as slides or document objects, DOCX, editable basic PPTX and LibreOffice ODP slides. Landscape/portrait16:9,4:3 or custom import frames, nine anchors and independent margins. Lock, rotate, fit or align imported documents afterward.
- Edge-docked controls with optional floating mode, individually movable buttons/panels, named layouts and import/export: control layouts.
- Named board presets, custom default background/ink colors, patterns and reusable saved combinations.
- Searchable offline periodic table with all 118 elements, family colors, details and element-card insertion.
- Scientific calculator with DEG/RAD, graph presets and configurable ranges, timers, subject diagrams, ideal buoyancy/displacement demonstration, camera snapshots, spotlight and magnifier.
- Canvas recorder with optional microphone and pause/resume. Floating tools/other apps are excluded; encoded-video reliability still needs real-device verification.
- Uncompressed editable .kopy documents, original attachments, legacy imports, autosave, three recovery generations and several synced backup folders.
Complex Office master layouts, binary PPT, macros, charts, animations, OCR and interactive3D are not fully supported. Export complex presentations to PDF for faithful appearance. See the feature matrix.
Connect a folder already synced by Google Drive, OneDrive, Dropbox or Nextcloud on supported desktop browsers. The provider app uploads it; Kopy does not claim direct OAuth or live collaborative editing. Canva/Drive/OneDrive links guide export/download and import. Optional AI contacts your Ollama server only when you press Send; lesson files are never uploaded automatically.
Local storage belongs to this browser profile/origin. Clearing it removes the library. Keep external .kopy copies: backups, cloud folders, file format.
npm test
npm run build
npm run check:privacy
npm run check:release
npx playwright install chromium
npx playwright testGitHub Actions validates the web and builds Windows installer and Android test APK artifacts. Matching development version tags automatically publish these under Releases alongside the web ZIP and checksums. Security checks scan Git history with Gitleaks, check source/build privacy patterns and dependency advisories. Release tags must match the package version and changelog. Stable signed APK builds need Android keystore secrets; development tags publish explicitly labelled debug APKs without secrets; Windows installers are currently unsigned. Read packaging and release setup.
Production dist runs on static HTTPS hosting and caches application code after first use. Camera/microphone require HTTPS or localhost. Development does not install the offline application cache.
Original code and brand assets are MIT licensed. Fork, rename and modify the application. Runtime branding cannot change installed OS package identifiers; use build configuration for forks.
Maintained by ADIxxDEV and contributors.
Thanks to everyone improving Kopy Notes. Public contributor profiles update automatically from GitHub commit contributions. Documentation, tests, accessibility, classroom feedback and code improvements are all welcome. Use Issues, Discussions or submit a pull request; see Contributing.



