Open beta — invitations rolling out weekly

An LMS that actually feels
designed for the classroom.

Paper is a Canvas-compatible learning management system, rebuilt for K-12 — by people who’ve taught in one. Single binary. Modern UI. No per-seat fees, ever.

We were caught off guard by the demand. 2,847 educators in line · invites sent in batches of 100.

The product

A grade book you’d actually want to open on a Monday morning.

Every surface — grade book, SpeedGrader, course pages, parent digests — rebuilt with the same obsessive care most LMSs reserve for the login screen.

paper.eduthemes.org/courses/algebra-1/gradebook
⌘K
Courses / Algebra I — Section 4B

Grade book

Student
Linear Eq. Quiz
Polynomials
Quiz 3
Mastery
Total
AM
Avery Martinez
12:04 · turned in
94
88
A−
91.3
BO
Beatrice Oduya
picture-cue mode · ✓
100
96
A
97.8
CK
Caleb Kowalski
late · −10%
62
79
68.4
DR
Devon Reyes
parent observer · sent
85
91
B+
87.2
EP
Elena Park
rubric · 4 / 4
98
100
A+
99.1
28 students · 14 assignments · last sync 2s ago OneRoster v1.2 · synced
K-2 mode
Picture-cue cards auto-replace assignment text for grades K-2, with read-aloud on tap.
Parent digest
Sent every Sunday at 5pm in the family’s preferred language. 12 supported.
⌘K Smart Search
pgvector-backed search across every course, file, and submission. Local, no third-party LLM.
What’s inside

Six things that finally work the way teachers said they should.

K-2 UI mode

Picture cues, read-aloud, big tap targets.

An interface that actually respects a six-year-old. Switches automatically by grade level — and back to standard for middle school.

Parent observer

Pairing codes & Sunday digests.

Parents get a weekly summary in their preferred language, no separate app required. 12 languages, including ASL captioned video summaries.

SpeedGrader

Rubrics, audio feedback, mastery paths.

Grade a stack of 32 essays without leaving the keyboard. Comment in voice. Branch students into the next module based on mastery.

⌘K Smart Search

pgvector-backed, runs on your hardware.

Search every course, file, page, and submission. No third-party LLM, no data leaving your district.

Standards & SIS

OneRoster v1.2, LTI 1.3 Advantage, IMSCC.

Speaks the protocols you already have. Roster from PowerSchool, Infinite Campus, Skyward. Import existing Canvas courses in one click.

One Go binary

Self-host in under a minute.

No Rails, no Sidekiq, no Redis cluster. A single 18 MB binary, Postgres, and a few env vars. Or use our managed cloud.

By the numbers

The surface area of a Fortune-500 LMS. The blast radius of a single Go binary.

84
domain models
Canvas-equivalent coverage
360
API routes
REST + GraphQL, fully documented
67
frontend pages
shipped in v1, more weekly
1
binary
18 MB. macOS, Linux, ARM
0
per-seat fees
self-host forever, free
Honestly, side by side

Where we differ from Canvas.

We respect Instructure. We learned from Canvas — most of our routes are wire-compatible with it. Here’s what we changed.

Paper
Canvas
Per-seat pricing Never. $8–$15 per student / yr
Self-host Single Go binary, 1 minute Rails + Sidekiq + Redis + Cassandra
K-2 picture-cue UI Built in, default for grades K-2 Not available
Canvas content import IMSCC + native Canvas format n/a
Source available MIT, all of it AGPL community edition only
LTI 1.3, OneRoster 1.2 Yes Yes
Parent observer with weekly digest 12 languages, included Limited, English only
Smart Search across submissions Local pgvector, no cloud LLM Add-on, sends data to vendor
Mobile PWA, offline Yes Separate native app required

Last verified against Canvas LMS Cloud, May 2026. We’ll update this table when they do.

Open source · MIT

Built in the open, on GitHub, with you.

Every commit. Every issue. Every roadmap decision. If your district can’t use cloud software, run Paper yourself — for free, forever. If you can, our managed cloud carries the pager.

~/paper
$ docker run -d -p 8080:8080 eduthemes/paper
Unable to find image 'eduthemes/paper:latest' locally
latest: Pulling from eduthemes/paper
a1b2c3d4: Pull complete
Digest: sha256:9f3...
✓ Paper LMS running on http://localhost:8080
$ open http://localhost:8080
→ Your school district is live.
Waitlist

Stop fighting your LMS.
Start teaching.

2,847
educators in line
194
districts
38
U.S. states + 6 countries

We were caught off guard by the demand. Invites sent in batches of 100, starting with verified .edu domains.