Why separate content and attachments?
September 6, 2026 · Hosting and future collaboration
The frontend remains on Vercel at presentor.cndy.dev. Cloudflare Workers handles requests, D1 stores Markdown, titles and revisions, and R2 stores attachments. GitHub Actions validates and deploys the backend. Hosting does not depend on a local computer staying on.
Keeping images and video outside the Markdown avoids uploading large binary data for each text edit.
Current writes use HTTPS and a previously read revision. A stale write is rejected, preserving local edits. That prevents whole-file overwrites; it does not merge concurrent typing.
Live collaboration needs incremental operations, ordering and reconnection. A future per-document room can carry updates over WebSocket, but Source and Canvas still need a shared merge model.
Google Drive change notifications report file changes. They do not provide Presentor's character-level collaboration algorithm. Drive can be a file entry point; the editor must still own merging.
The deployment chain uses Windows and Edge for product verification, then a Linux runner for database migration and Worker deployment. Local WSL, Docker and Rust builds are unnecessary.