Case study · Production work
← Selected workUnified email and SMS composer
The problem
Separate channel-specific composition modules created inconsistent workflows and duplicated technical complexity.
Constraints
- Email and SMS required different editing behaviours
- Compatibility with Gmail, TinyMCE v3 and Twilio workflows
- Support for attachments, emojis, templates and custom tokens
How I approached it
Designed a shared composition interface with rich-text and plain-text modes, drag-and-drop attachments, previews, media-library links, templates and token insertion.
My contribution
Delivered the frontend implementation using Vue 3 and Pinia, with Cypress coverage for critical composition flows.
Outcomes
- Reduced associated composer technical debt by more than 80%.
- Reported 90% compatibility with Gmail editing behaviour and 98% cross-compatibility with TinyMCE v3.
What I learned
- A shared interaction model can remove duplicated channel logic without erasing channel-specific constraints.
Technology
Vue 3 · Pinia · TanStack Query · Cypress