← All work
SiriusXM

Campaign Requirements Generator

Campaign Requirements Generator 1
Screen photo, enhanced for clarity.

Contract Forward Deployed Engineer · SiriusXM · July 2026–present. I work directly with the marketing team to understand operational problems and build internal applications around their workflows.

The problem

Creating campaign requirements from email designs means manually documenting creative assets, modules, and campaign details. Teams repeat that work even when a campaign uses content they have already built.

What I built

I built an internal application that helps the marketing team generate structured campaign requirements from existing creative assets. The workflow connects the source design to reusable modules, clarification, and a final review.

How it works

  • Start with an HTML email export and its image assets, or Figma design frames.
  • Add multiple emails within a campaign and map their content to reusable email modules.
  • Use campaign and module libraries to organize work and reuse existing content.
  • Clarify missing details, then generate and review the structured campaign documentation.

Formats and integrations

HTML email exports, local image assets, and Figma design frames, organized through campaign and module libraries.

Technologies used

  • Front end: TypeScript, SolidJS, TanStack Router, Vite, and Tailwind CSS.
  • Back end: Node.js and TypeScript APIs on AWS Lambda behind an Application Load Balancer.
  • Data and AI infrastructure: DynamoDB and an OpenAI-compatible LiteLLM gateway.
  • Development and delivery: Vite/Warp, a local DynamoDB mock, and GitHub Actions deployments through SiriusXM Builder/AWS.
  • Workbook and creative exports: ExcelJS and html2canvas.
  • Figma integration: read-only access through a Google Apps Script OAuth bridge. Campaigns, reusable modules, and activity data are stored in DynamoDB.

Value to the team

The application makes campaign planning and documentation more consistent, reduces repetitive documentation work, and helps the team reuse existing content. The clarification and review steps keep people involved before requirements are finalized.