Skip to main content

DP and Engagement

Display picture workflows are one of the most distinctive parts of Right Events.

Core surfaces

The DP system spans:

  • public DP pages under /dp/*
  • organizer management pages for DP templates and campaigns
  • Convex modules prefixed with dp
  • supporting API routes such as app/api/dp/* and app/api/ai/generate-dp

Important backend modules

  • convex/dpTemplates.ts
  • convex/dps.ts
  • convex/dpCampaign.ts
  • convex/dpBatch.ts
  • convex/dpHub.ts
  • convex/dpSafety.ts
  • convex/dpAi.ts

Typical DP flow

  1. Organizer creates or manages a DP template.
  2. A public user opens the campaign or DP page.
  3. The user uploads a photo or selects generation options.
  4. The platform generates, stores, or exports the composed image.
  5. Funnel events are recorded for analytics and attribution.

Engagement model

DPs are not treated as a cosmetic extra. They feed:

  • campaign reach
  • export and share metrics
  • public engagement tracking
  • organizer analytics

Performance and scaling notes

The repo already includes a campaign launch checklist for 10k burst readiness. Important current themes are:

  • reducing hot-row pressure
  • avoiding live reactive subscriptions for every public viewer
  • caching campaign stats
  • degrading gracefully when AI moderation is unavailable

See DP Launch Checklist for the operational version.

  • pnpm dp:loadtest:funnel
  • pnpm dp:batch:smoke
  • organizer DP batch Playwright tests