CrowdOS

AI moderation

An automatic first pass over every shoutout, photo, and song request, tuned for a real nightlife crowd rather than an office chat filter. Available on Pro and Enterprise.

Turning it on

  1. 1
    Open the moderation queue in DJOS
    CrowdOS tab. The AI moderation switch and strictness setting sit at the top of the queue. The same settings are in the event’s DJOS settings tab.
  2. 2
    Choose a strictness
    Standard expects nightlife language and only stops real harm. Squeaky clean is for family or corporate rooms and also holds back ordinary profanity.
  3. 3
    Keep DJOS open during the night
    Decisions are saved either way, but guests get their instant approved or rejected notice through the open DJOS tab. With no DJOS tab open, the queue is still right; the guest just does not get the popup.
FigureDJOS · CrowdOS tab · moderation queue· joinvyve.io/dashboard/events/…/dj
joinvyve.io/dashboard/events/…/dj
Saturday Night Live
Aurora Rooftop · joinvyve.io/go/7KQ4M
LiveRequests 2Energy 87%Scene CrowdEnd live
LiveRequestsCrowdOSConnectActivityDisplay
Shoutouts and photos
2 pendingClear Crowd Queue5
AI moderation on
Strictness: Standard ▾
1
“Happy birthday Maddie, this DJ is fucking incredible”
Shoutout · @jayceee · just now
AI approved · casual profanity is normal here3
ApproveFeatureReject2
Photo · @table6
Pending · 1 min
ApproveFeatureReject
AI-rejected · review
1 item
Photo · @anon
Not an event photo · a screenshot of a text thread
Override · approveDismiss
4
  1. 1AI moderationOn Pro and Enterprise. Standard expects nightlife language; Squeaky clean holds back profanity too.
  2. 2Approve / Feature / RejectApprove puts it in the TV rotation, Feature puts it on screen by itself now, Reject tells the guest why.
  3. 3AI reasonEvery AI decision carries its reason so you can judge whether you agree.
  4. 4AI-rejected reviewAnything AI rejected waits here. Override approves it; Dismiss agrees and clears it from your view.
  5. 5Clear Crowd QueueDismisses everything pending, shoutouts and photos alike.

What it decides

ContentStandard strictness
Ordinary profanity and crude hypeApproved. Language alone is never a violation.
Slurs, hate speech, threats or harassment aimed at a personRejected.
Sexual content, or asking for itRejected.
Doxxing, spam, scam linksRejected.
A rude gesture aimed at the camera in generalApproved.
The same gesture aimed at an identifiable personRejected as harassment.
A meme, screenshot, or stock image on the photo wallTurned away as not an event photo, with a light, non-accusatory message. Not a violation.
A real photo of real people at any kind of venueApproved. The type of venue never matters; a sports bar counts as much as a club.
A song request that is not a song, such as “skip” or gibberishMarked as not a request, shown to the guest with a light tone.
Anything the model is unsure aboutLeft in your queue as pending, or flagged for review. Unsure never means auto-approved.

Song requests are different

For requests, AI only ever acts on two negatives: genuine hate speech or harassment unrelated to any song, and junk that is not a request. It never approves a request into your set. Whether to play something is your creative call. Real songs with rough titles are treated as requests, not violations.

You always have the last word

Every AI decision shows its reason on the item in your queue. Anything the AI rejected goes to a separate AI-Rejected, Review section so it is never silently gone. Override, Approve puts it through; Dismiss agrees with the AI and clears it from your view. AI-approved items can be rejected like any other.

What guests see

A rejected guest sees the actual reason, not a generic guidelines message. Notices are worded the same whether you or the AI decided, so guests experience one consistent moderator. A “not an event photo” or “not a request” notice is written lightly on purpose, since neither is a violation.

Note
How the decisions are made
Severe categories are caught two ways: a short deterministic block list runs before the model for terms that are never acceptable, and the model then reads context for everything else at a fixed setting so the same input gets the same answer. If the model cannot be reached, nothing is auto-approved; items simply wait for you.
Still stuck?

Send a message with your venue name and what you were trying to do. A person reads every one and replies by email.

Contact support