Rich Text Editors
The editor everyone touches
My first brief at Contentstack wasn't one project — it was three. The company needed rich text editing across two very different worlds: a legacy Angular CMS and a brand-new headless CMS, and one editor couldn't speak to both. So the answer was three editors, each speaking a different format — an HTML-based editor for the legacy product, a JSON-based editor for the future, and a Markdown-based editor for the headless CMS — complete with drag-and-drop, inline editing, and asset management.
An intern, handed the one surface every editor touches all day. So I built three of them.
The hard part wasn't writing three editors — it was making one mental model span three output formats without becoming three separate messes. I designed a JSON-configurable dynamic toolbar so new capabilities could be added through configuration rather than code, and a shortcut module that let Markdown shortcuts work directly in the editor, without anyone ever opening the toolbar.
All three shipped before I started full-time. The JSON editor went on to become one of the most capable rich text editors in the headless-CMS space — the foundation the rest of my work at Contentstack would build on.
3 editors
HTML, JSON & Markdown — built from scratch as an intern
Also shipped: JSON-configurable dynamic toolbar · Markdown shortcut module