Define the campaign
An operator chooses the audience, language, format and regeneration rules.
The backend supports campaign create/update/copy operations and spreadsheet-based batch creation.
An operations workspace that connects sports feeds, creative generation and advertising-platform lifecycle management.
An operator configures an advertising campaign once. The service checks a sports data feed, picks an eligible upcoming match, fills a text and image template, renders the image, then creates or updates the creative in the advertising platform. If there is no suitable match, the related live creative can be paused.
Campaign content changes with real-world events. Manually selecting events, preparing assets and reconciling advertising state makes the workflow difficult to maintain as the number of campaigns grows.
Advertising operations and media teams managing many campaigns whose text or image should follow changing sports events.
Format, language and event rules
Shared cache and provider limits
Time window, team codes and priorities
No eligible event was found
Localized copy and escaped template values
Browser converts HTML template to PNG
Call the advertising platform
Success or external API failure
Local campaign state is synchronized
Best-effort compensation after failure
An operator chooses the audience, language, format and regeneration rules.
The backend supports campaign create/update/copy operations and spreadsheet-based batch creation.
Workers obtain the current sports data without needlessly repeating the same request.
The cache combines simultaneous requests for the same feed. A Redis limiter coordinates request rate and count across workers.
The campaign selects an event that fits its time window and priorities.
Team-code availability, include/exclude windows and ordered priority groups constrain candidate selection. A missing event is distinct from a provider failure.
Localized text and a matching image are assembled from the chosen event.
Sports copy uses placeholders and length checks. HTML templates escape inserted values and render to PNG in Chromium. Promotional copy has a separate generator API path.
The system creates the remote creative, uploads its assets and activates it.
The service creates the ad, uploads its image and connects it to the local campaign.
Changed events trigger regeneration; missing suitable events can pause creatives.
Task history and the selected event determine when to update, pause or reactivate a creative.
Operators review campaign metrics and task failures.
DuckDB and Pandas prepare campaign reports. Task logs and notifications show retries and final errors.
Shared admission control and single-flight caching address limits across workers, rather than per-process counters alone.
Selection, regeneration, pause and reactivation are explicit parts of the campaign workflow.
Sports templates and browser-rendered images have different behavior from the promotional text generator integration.
Tell me what the application should do, how the team works today and which requirements or deadlines matter.