[Your Name] · [Email] · [Phone] · [City, ST]
April 21, 2026
Dear Hiring Manager,
I'm applying for the Senior Product Engineer role on the Editor team. Ivan's 2019 essay on tools for thought and the block-model architecture your team published are the specific reasons I spent the last two years building a block-based editor from scratch at my current company — and the specific reasons I'd like to stop reinventing pieces of Notion and work on Notion itself.
At a 35-person startup I owned the document editor for our knowledge-management product. I rewrote the editor from a contenteditable-based mess to a block-model architecture with 11 content types, nested hierarchies up to 6 levels deep, and sub-40ms input latency on the P95 keystroke. The first-principles call that made the project work was choosing not to use a general-purpose framework (Slate, TipTap, ProseMirror) and instead building a small custom editor kernel — 2,200 lines of TypeScript — that we fully controlled. It took 4 extra weeks and saved us, conservatively, the rest of the year in framework-fighting. I wrote the design doc, I shipped it with one other engineer, and I held the code review bar myself for the first six months.
The part I'm most proud of is a set of micro-interactions that most users will never consciously notice: the way the cursor animates when a block type changes, the precise curve on the drag-to-reorder motion, the 120ms delay on the slash-menu so it doesn't flicker during fast typing. Those details took a disproportionate amount of time, and they're the reason the product feels good. I've been a daily Notion user since 2018 across four jobs — my personal Notion has 600+ pages, and I've built three internal tools on top of the API. That 'craft as a habit' posture is the one cultural thing I care about most in choosing where to work next.
I'd welcome a focused 30-minute conversation about the Editor team's current priorities — particularly around block-level performance on large pages, where I have a few specific observations. Happy to share the editor-rewrite design doc as a writing sample ahead of a call.
Sincerely,
[Your Name]