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/*andapp/api/ai/generate-dp
Important backend modules
convex/dpTemplates.tsconvex/dps.tsconvex/dpCampaign.tsconvex/dpBatch.tsconvex/dpHub.tsconvex/dpSafety.tsconvex/dpAi.ts
Typical DP flow
- Organizer creates or manages a DP template.
- A public user opens the campaign or DP page.
- The user uploads a photo or selects generation options.
- The platform generates, stores, or exports the composed image.
- 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.
Related scripts and checks
pnpm dp:loadtest:funnelpnpm dp:batch:smoke- organizer DP batch Playwright tests