Dan Matthew

Program note · Experience

Iterable — Senior Software Engineer

Building product experiences and platform capabilities at the intersection of analytics, messaging, experimentation, localization, data integration, and intelligent software.

Revised 4 Sep 2026

Iterable is a cross-channel customer-engagement platform — it lets marketing and lifecycle teams build, automate, and personalize messaging across email, push, SMS, in-app, and more from one system.

Senior Software Engineer at Iterable, 2022–present. I work across frontend architecture, experimentation, analytics and reporting, data integration, and the operational side of intelligent-analytics systems. The job is rarely just the implementation: it is the architecture underneath it, the documentation that lets other people adopt it, the performance analysis, the tests, and the rollout plan. The through-line in all of it is the same — make complex systems easier to use, easier to operate, and safer to change.

Internationalization foundations

Localization tends to arrive as a one-off feature and then quietly become everyone's problem. I helped give a React application a structured way to handle it: translation-namespace conventions, reusable translation hooks, shared labels, pluralization and interpolation, and adoption guidance so the next team didn't have to rediscover the rules. Alongside that, I explored what a longer-term centralized translation service would look like — management, endpoints, caching. The result was localization as a repeatable engineering practice rather than a feature you finish once and hope never to touch again.

Experimentation & analytics experiences

Experimentation is only useful if people trust what they are looking at. I built and refined the interfaces for setting up, configuring, and analyzing experiments, which meant coordinating data contracts, query behavior, state, validation, and presentation across workflows backed by both REST and GraphQL. A lot of the work lived in the unglamorous edges — async loading, partial responses, failure states — and in the shared components that handle them consistently. The goal was to turn genuinely complex analytical concepts into workflows a person can follow, without quietly sacrificing correctness to get there.

Analytics infrastructure & data-flow modernization

I worked across a broad analytics surface — campaign performance, messaging insights, workflow reporting, goals, experimentation, and exports — connecting product experiences to shared analytics and metric services, and consolidating data-fetching patterns that had been reimplemented in slightly different ways. The lesson that kept recurring: good analytics is less about the charts than about trustworthy definitions, predictable loading, and clear contracts about what the data actually means.

Cross-channel reporting & visualization

Reporting for a data-dense product is an information-design problem before it is a rendering problem. I contributed to channel-aware reporting, campaign and audience comparisons, link and engagement analysis, time series, device and location breakdowns, and exportable reports — structuring the report components so that one data model drives both the interactive views and the generated documents. Most of the judgment went into what to show, how to group it, and how to keep it understandable when there is a lot of it.

Reusable data-integration abstractions

External destinations all want roughly the same things from a UI — create and edit, discover capabilities, authenticate, test the connection, show loading and error states — and every one of them wants it slightly differently. I built a reusable provider/hook abstraction that hides that vendor-specific complexity behind a small, stable, typed API, with capabilities loaded dynamically and performance-conscious state that only computes prepared data when it is actually needed. Feature teams work against one consistent interface instead of re-learning each integration's quirks.

Observability & performance for intelligent analytics

An AI-assisted analytics experience has to be observable before it can be trusted or tuned. I built the operational foundations: reusable tracing and metrics helpers that instrument workflow steps, agent invocations, capabilities, latency, errors, and the performance-sensitive ranking and comparison work; request-context propagation across service boundaries; and low-cardinality dimensions with sampling so the telemetry stays responsible. All of it had to preserve existing behavior and error semantics, and every measurement went through a privacy- and cost-aware review of whether it should exist at all.

Selected outcomes

  • Built and evolved the frontend foundations for internationalized product experiences.
  • Established reusable translation patterns and developer guidance for a React application.
  • Contributed to experimentation setup, configuration, and analysis workflows.
  • Delivered cross-channel campaign reporting, engagement analysis, and reusable reports.
  • Worked across REST and GraphQL data flows for metrics, filtering, time series, and exports.
  • Designed reusable frontend abstractions for external data-destination workflows.
  • Added tracing and metrics to AI-assisted analytics workflows and performance-sensitive operations.
  • Applied privacy-aware and cost-aware principles to observability design.
  • Documented architecture, adoption patterns, migration guidance, and tradeoffs for other engineers.