The product question
Professional messages often include several asks, a short introduction, or a number worth emphasizing. I explored how a formatting surface could add structure without crowding the default compose experience.
What I built
A LinkedIn-style messaging recreation with a working rich-text composer using native contenteditable APIs. The prototype is a separate application and does not modify LinkedIn or send messages through it.
The tradeoff
Native editing APIs keep the build small, but a production editor needs deliberate handling of selection, undo, pasted content, keyboard shortcuts, and accessibility. Messages do not persist after reload in this prototype.
Next evaluation
Test whether recipients understand multi-part asks more accurately, then inspect how formatted content survives notifications and plain-text fallbacks. Improved reply rates are a hypothesis, not a measured result.
Prototype outcomes
What this prototype demonstrates
- A working formatting interaction in a familiar compose context.
- A lightweight implementation for exploring the core interaction.
- Production questions made concrete: paste, undo, accessibility, and rendering fallbacks.
Technical context
- HTML, CSS & JavaScript
- Vite
- Native contenteditable
Up next
Read with Your Crew ↗Let’s talk about the product decisions behind the work.
Get in touch ↗