loading 0%
All projects
EdTechReal-timeFull-stack

Looseleaf

A classroom notebook built on a live shared canvas — hand out a page, watch 25 students work in real time, and ink feedback that lands on their screen as you write it.

looseleaf
Looseleaf screenshot
Role

Designer & Developer

Timeline

2026

Tools

Custom ink engine, Cloudflare Durable Objects, React, PDF.js, Claude Code

The Problem

Shared digital notebooks promise a lot and deliver setup cost — accounts to provision, apps to install, materials to rebuild. And the tools that do handle assessment tend to solve integrity by surveilling students and handing teachers a suspicion score they didn't ask for and can't verify.

The Approach

  • Built the class as a live shared canvas over Cloudflare Durable Objects — one room per page, WebSocket-backed — so student work streams to the teacher continuously instead of being collected at the end. Started on an off-the-shelf canvas SDK, then replaced it with a custom ink engine when the licensing and latency math stopped working.
  • Teachers hand out a page from a content library and get per-student delivery receipts — you know who actually received it, not just who you sent it to.
  • A 25-up class grid shows every student's canvas updating live, so a teacher can see the room at a glance.
  • Teacher ink appears on a student's screen as it's being written, which makes feedback a conversation during the work rather than a verdict after it.
  • Focus sessions log integrity events — tab hidden, fullscreen exited — as timestamped facts over the class bus. The product never interprets, scores, or accuses: a documented non-negotiable, because on iPad these are best-effort signals, not proof, and a tool that pretends otherwise gets students in trouble for nothing.
  • Students join with a code — no account, nothing to install.

The Outcome

25-up

Live student canvases visible on one screen

Facts, not verdicts

Integrity events logged, never scored or accused

Phase 0

Working demo deployed, with a simulated class

Let's work together.

Building something I should see, or hiring for a problem worth solving? I'd be glad to talk.