Skip to main content
Fast Track AI (2024)

SMS Characters: Count & Preview

Preventing costly messaging errors through accurate counting and multi-language support

SMS composer interface showing character count, encoding warnings, and mobile preview

Impact

  • Zero billing disputes in 6+ months (previously multiple five-figure disputes)
  • RTL language support unlocked Arabic and Hebrew markets
  • SMS support tickets essentially eliminated
Full SMS composer interface with message setup, text content with emojis, and real-time mobile device preview showing 4 SMS at 235 characters
Complete solution: intelligent counting, visual feedback, and real-time mobile preview
Timeline
Q2 2024 (3 months)
Team
6 (Product Designer + 3 Engineers + Product Manager + QA Engineer)

The Problem

Basic character counter failing with emojis and Unicode. Multiple five-figure billing disputes. RTL text completely broken.

Core Issues:

  • Emoji miscounting causing up to 3x cost overruns
  • Multiple five-figure billing disputes in 6 months
  • RTL text rendering completely broken for Arabic/Hebrew markets

My Approach

1. Crisis as Business Case

Decision: Leveraged billing disputes to secure resources for comprehensive solution rather than band-aid fixes

Result: Secured full team allocation for three-month sprint instead of incremental patches that would have created new vulnerabilities.

2. Constraint Design Process

Decision: Used support tickets and billing disputes as primary research data instead of traditional user research

Result: Rapid problem identification without research timeline, with evidence directly tied to business impact.

3. Real-time Detection Over Post-Composition

Decision: Live encoding detection during typing rather than validation after message completion

Result: Partners actively modified content to optimise costs during composition rather than discovering problems after the fact.

4. Risk-First Implementation

Decision: Eliminated financial risk before adding enhancement features

Result: No cascading issues from partial implementations, complete problem resolution in single release.

Flowchart showing character analysis cascade: Message Input through emoji detection, non-GSM chars, extended GSM, dynamic text checks to final count calculation
Cascading detection system: evaluates characters in order of complexity for accuracy and performance
Four strategy cards showing Constraint Design Process, Limited Executive Buy-in, One Quarter Timeline Mandate, and Legacy System Limitations, plus deliverables list
Strategic constraints that shaped the solution: crisis-driven timeline, limited resources, legacy systems

Implementation

Technical Approach:

  • Real-time GSM/UCS-2 encoding detection
  • Debounced analysis for smooth typing performance
  • Defensive variable estimation prevents undercount surprises
  • RTL support for Arabic and Hebrew markets
Comprehensive tooltip documentation showing all variable types: Hyperlink Address, Default SMS footer, Variables, Special characters, Emoji characters, Firstname with sample values, and warning message examples
Complete tooltip system: each element type has contextual guidance explaining impact on character count
Real-time character counting comparison: top shows exact count (88 chars, blue info), bottom shows estimated count with variable (130 chars, yellow warning)
Real-time counting: exact counts for static content, estimated counts with warnings for dynamic variables

Validation & Results

Measured Outcomes:

  • Zero billing disputes in 6+ months (from multiple five-figure disputes)
  • RTL markets unlocked (Arabic, Hebrew)
  • SMS support tickets essentially eliminated
QA approval interface showing English and Farsi messages with selection checkboxes and green acknowledgment bar for variable cost confirmation
QA safeguards: mandatory acknowledgment before sending messages with cost-impacting elements
Message preview interface with highlight toggle in OFF state, showing clean English and properly-rendered RTL Farsi messages
Toggle-controlled highlighting: aids debugging when on, shows accurate final appearance when off

What I Learned

Strategic Insight:

Prevention economics: reactive fixes cost multiples of proactive solutions. The best metric for prevention is absence.