SkillAgentSearch skills...

project

Live lecture board: admin annotates slides, viewers watch ink in realtime

Install / Use

npx skills add heller007/Liveboard

Installs into whichever agent you are using.

About this skill
📐

Cursor Rules

Cursor IDE rules (v2)

Quality Score

48/100

Supported Platforms

Cursor

Project: Live Lecture Board

One educator annotates PDFs/slides in handwriting; many remote viewers watch ink appear in near-real-time; sessions are recorded for faithful stroke-by-stroke replay. Single-writer INK broadcast — NOT symmetric multi-writer. Vector strokes, never video.

Stack (fixed — do not substitute)

  • pnpm monorepo. Frontend: React + Vite + TypeScript. Backend: Node + Fastify + TypeScript.
  • Realtime: raw ws (NOT Socket.IO). Drawing: Excalidraw (@excalidraw/excalidraw, MIT).
  • Shared wire protocol lives in packages/types and is the SINGLE source of truth.
  • Persistence (Postgres) and object storage (R2/S3) added ONLY when a subsystem needs them.

Architecture rules

  • Modular monolith: one server process, clean module boundaries. No microservices, no k8s.
  • Coordinates: store ink/cursor positions in NORMALIZED 0–1 document-page space, never pixels.
  • Two traffic classes: committed ink/scene = reliable + ordered; live cursor/laser = lossy, latest-wins (drop stale).
  • Capture-time timestamps: stamp events on the ADMIN machine, ms since session start. Never use server-arrival time for anything that gets recorded.

Guardrails (do NOT do these unless the active prompt says so)

  • No Redis, no auth/JWT, no database until the subsystem that introduces it.
  • No localStorage/sessionStorage anywhere.
  • Build each subsystem against FAKE neighbors first; keep the app runnable at every step.
  • TypeScript strict mode, ESM, no any. Small focused files. No premature abstraction.
  • When unsure about scope, prefer the smallest thing that passes the stated Acceptance test.

Feature / protocol tracking

  • Keep FEATURES.md updated when adding session features or changing wire messages (compat notes).

Related Skills

View on GitHub
GitHub Stars0
CategoryContent
UpdatedNaNy ago
Forks0

Security Score

68/100

Audited on Invalid Date

2 medium1 low