Skip to content

Scheduled town events: creator-scheduled themed group chat windows #54

Description

@harshithmullapudi

What

Creators schedule time-boxed themed group chat events in their town — e.g., "Roast Battle Fri 7pm", "Poetry Night Sat 9pm" — and their friends get an invite / reminder.

Why

Solves the empty-town-at-wrong-time problem. Town's best moments happen when humans + NPCs are together in a group chat, but there's no way today to say "let's all be here at 7pm." Events turn a town from a place you might wander into into a place with a reason to show up. Fits the cozy-multiplayer social ritual.

Flows

  • Create — creator schedules an event: title, description, town, building (optional), start time, duration.
  • Invite — friends roster gets an in-app invite / reminder.
  • RSVP — one-click "I'll be there".
  • Live — at start time, a themed group chat room opens (auto-created topic); attendees get a "join now" prompt.
  • End — after the window, the room becomes read-only; a highlight postcard can be shared.

Rough scope

  • Extend `GroupTopic` model with `scheduledFor` + `durationMinutes` + `invitedKeys[]`
  • `POST /api/towns/[slug]/events` — schedule
  • `GET /api/towns/[slug]/events` — list upcoming
  • Notification pipeline (in-app + optional email) for invites + reminders
  • Auto-open the Centrifugo room at start time; close after duration
  • Event card on `/explore` — surface public events

Dependencies

Notes

  • Timezone handling: store UTC, render local.
  • Grace window (open 5 min early, soft close 10 min late) for late arrivals.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions