v1.03 — Launch Workflows & Audience IQ
- Mar 29
- 1 min read
Updated: May 14
Sprint 16 · Mar 23 – Mar 29, 2026

Sprint 16 hardened the campaign launch pipeline end-to-end, improved targeting generation and prefill correctness, expanded validation and error visibility, addressed DB connection pool exhaustion, and migrated observability to Better Stack.
Shipped
Campaign Launch Pipeline Hardening — improved launch workflow orchestration, platform sync behavior, and reduced failures due to payload size and timeouts. Split media uploads into separate membrane calls for LinkedIn/Meta (50s timeout fix). Fixed Membrane lead form action duplicates and concurrency exception on campaign relaunch.
Targeting Generation and Prefill Correctness — fixed targeting not pre-filled for Meta and LinkedIn; improved shared settings generation robustness.
Validation and Error Visibility — improved platform validation coverage: fixed lead form validators with missing limits for LinkedIn/Meta fields, surfaced nested shared lead-form validation errors in campaign builder, surfaced specific platform validation errors instead of generic friendly messages.
Infrastructure and Performance — addressed DB connection pool exhaustion by capping Hangfire workers and adding concurrency limits to all background jobs. Replaced NewRelic with BetterStack observability.
UX Polish — standardized all tags and statuses to use semi-translucent design style; fixed table expand/collapse animation and set minimum width for campaign name column.
Fixes
Multiple Marker.io-Reported Issues — resolved issues across compliance freshness, business name inclusion, landing page URL editability, and icon/state correctness.



Comments