projects

Shortform

2022·live·github

A writing tool built specifically for newsletter writers who want a distraction-free environment, Markdown support, and a clean export to HTML/plain text.

Archived in 2023 after Substack improved their editor significantly.


What it did

Shortform was a focused alternative to Substack's editor. The core loop:

  1. Write in Markdown in a clean full-screen environment
  2. Preview as rendered HTML
  3. Export to plain text (for email) or HTML (for web)
  4. Schedule or publish via the Shortform API

The editor

Built on CodeMirror 6 with a custom Markdown extension that highlighted syntax inline rather than replacing it with formatting buttons:

import { EditorView, keymap } from '@codemirror/view';
import { markdown } from '@codemirror/lang-markdown';
import { defaultKeymap, history } from '@codemirror/commands';
 
const editor = new EditorView({
  extensions: [
    markdown(),
    history(),
    keymap.of(defaultKeymap),
    EditorView.lineWrapping,
    // Custom: dim everything except the current paragraph
    focusedParagraphHighlight(),
  ],
  parent: document.getElementById('editor')!,
});

What I learned

  • Newsletter writers care deeply about how things look in email clients, not just browsers. Testing across Gmail, Outlook, and Apple Mail is genuinely painful.
  • The market for writing tools is saturated. Differentiation requires a very specific, committed user base.
  • "Distraction-free" is easier to promise than to deliver. Every feature request was a distraction from the distraction-free experience.

The project taught me more about product decisions than technical ones.