
Overview
As the functional product designer and senior business analyst, I spearheaded the design and implementation of a Kafka-based backend communication framework to enable SMS notifications for healthcare marketplace. This system now supports over 23 million users and has generated more than 8 million SMS messages.
Problem
Although the platform had allowed users to choose SMS as their preferred communication method since the 2010s, the technical infrastructure to send SMS messages was never implemented. This led to:
A mismatch between user expectations and experience, with over 80,000 users receiving emails instead of texts.
Compliance and trust issues stemming from unfulfilled communication preferences.
An incomplete backend framework to handle modern communication channels at scale.
My Role
Led meetings with the business owners + external messaging stakeholders and drove technical design sessions.
Managed a team of two junior BAs and partnered closely with developers, testers and delivery managers.
Authored all technical and business documentation including:
Functional design docs
Business process flows and data models (Visio)
API specifications (Apiary)
Created and refined all user stories and acceptance criteria (Jira).
Reviewed QA test cases and validated test results.
Navigating Ambiguity: Designing the Framework
We designed a Kafka-based communication framework that could scale to multiple notice types and support SMS, email, and print delivery. Each notice type had a corresponding API that triggered a Kafka event, which was then consumed by a delivery-specific consumer.
We chose Kafka because consumers could attest to multiple communication preferences (e.g., SMS and email). It wasn’t feasible for a single API to handle multiple asynchronous notification types in one call, nor was it viable to generate two separate API requests from one triggering action. Kafka allowed us to decouple these processes — enabling multiple downstream consumers to process the same event independently based on communication preference.
SMS & Email: Events were consumed by services that populated the corresponding API requests to external stakeholders for delivery.
Print: The system generated a notice XML stored in MarkLogic, which was printed via legacy workflows.
Logging: All API interactions and Kafka events were tracked using Splunk for full traceability.
Initial ambiguity included:
No existing framework or precedent for SMS.
Lack of real-time tracking for consumer communication states.
Unclear compliance requirements and indirect feedback loops via external stakeholders (e.g., opt-out handling through vendor webhooks).
Backend Innovation: CTIA Compliance + Real-Time State Tracking
Upon meeting with the SMS delivery vendor, we learned of CTIA carrier compliance guidelines, which required:
Sending a welcome SMS message before any official communications.
Tracking opt-outs and deprecations in real time.
We designed and implemented:
A new SMS Information document stored in MarkLogic to track:
Welcome message status
Deprecated numbers
Opt-outs via webhook responses (START/STOP keywords)
A real-time backend sync mechanism to update consumer preferences based on:
Webhook API triggers (real-time START/STOP updates)
Nightly batch jobs for deprecated numbers
Time-Zone Sensitive Delays: A Last-Minute Curveball
Late in development, the client requested that non-user-initiated SMS messages be delayed during overnight hours. While we initially built a simple consumer "on/off hours" filter, we overlooked U.S. time zone complexities.
To resolve this, we:
Created a separate Kafka consumer for each time zone.
Adjusted backend logic to process Kafka events only for their associated state/time zone during allowed hours.
This required extensive coordination and regression testing to avoid data leakage or missed events.
Phased Rollout & Impact
The framework supported a phased rollout by notice type to mitigate risk. Within 6 months:
Over 2 million SMS notices delivered.
13.5 million users received communications aligned with their preferences.
Framework scaled to serve 23 million+ users, still in use today.
Reflection
This project sharpened my skills in:
Leading through ambiguity — evolving a legacy notice generation system into a scalable, Kafka-based framework to support multi-channel delivery and real-time processing.
Designing backend architecture that aligns with user experience and regulatory requirements.
Orchestrating stakeholder alignment across business owners, telecom vendors, developers, and QA teams.
Why This Matters for AI/ML Product Roles
The systems and frameworks designed here reflect the kind of backend intelligence and data infrastructure that modern AI/ML products rely on, such as:
Establishing a scalable, event-driven architecture — a core pattern behind many intelligent systems.
Ensuring data integrity and compliance — foundational for building trust in AI-powered features.
Enabling real-time state tracking of user communication preferences, which supports adaptive, personalized interactions.