Copydesk
An editor and newsletter for an independent magazine
Copydesk is a sample brief. We imagined a small independent magazine that wanted the calm of a blank page with a proper publishing platform underneath. The magazine is imaginary. The tool isn't: we designed and engineered it, and you can write, schedule and publish in the live build below.
A sample brief, a real product. We wrote this brief ourselves. The business is imaginary; the product is not: we designed and engineered it, and you can use it above. We publish results only for work a client has let us verify, so this page shows none.
The brief
We imagined a small online magazine with a few regular writers, an editor and a newsletter. They wrote in one tool, published from another, sent the newsletter from a third, and lost a draft every so often. We designed and built both halves: the writing surface and the publishing engine under it.
The problem
Writers are unforgiving. One janky keystroke and they go back to their notes app. The interface has to disappear while the engine does the heavy lifting: saving, versioning, scheduling and search.
- A steady, distraction-free editor
- Autosave and versions you never think about
- Site and newsletter published from one place
- No stutter mid-sentence
The approach
We built the editor first (input, selection, undo, slash commands, focus mode) and only then the platform around it: posts and schedules, media and tags, comment moderation and newsletter issues.
What would change for a magazine like this: one tool from draft to inbox, and no more lost drafts.
- A custom editor tuned for instant input
- Versions with one-click restore
- A typed API and a clean publishing pipeline
- Chrome and motion kept nearly invisible
What shipped
- Toolbar and keyboard shortcuts
- Slash commands
- Outline
- Versions with restore
- Focus mode
- Schedule and publish
- Posts list with drafts, scheduled and published
- Media library and tags
- Comment moderation
- Newsletter with issues
Under the surface
How it is built
Remix on Node renders MDX documents from PostgreSQL, Meilisearch powers instant search, media flows straight to S3 with presigned uploads, and everything ships as one Docker image.
- MDX pipeline with custom shortcodes, sanitised
- Meilisearch for instant, typo-tolerant search
- Presigned S3 uploads: media never touches the app
- Single-container deploys, zero-downtime swaps
Considered and turned down
Next.js with Contentlayer was close; Remix's nested routes matched the editor and preview split better.
Stack
The mechanism, working
The part of Copydesk that was hardest to get right, as a small model you can operate.
Zero-lag editor with history
Input is committed locally on the same frame; snapshots are versioned in the background.
