Case study · Production work

← Selected work

Unified 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