Temporary realtime event rooms
Pulse Grid
Create a 60-minute room or join with its generated six-character code, then use the media stage, live chat, images, message read status, and participant draw.
- Nuxt
- Vue
- TypeScript
- Nuxt UI
- Pinia
- Pinia Colada
- FeathersJS
Design problem
A remote event needs a clear way to invite people, show who is present, share media and messages, and run a draw without leaving stale personal content behind after the event.
Main user flow
-
Create or join a room
Create a room to receive its six-character invite code, or join an existing room with that code.
-
Choose a room identity
Enter a short display name and colour without creating an account, then see who else is connected.
-
Share the event
Control the media stage and exchange live text or image messages with visible read state.
-
Choose the next participant
Run the draw only among people currently connected. The result appears for everyone in the room and is added to the chat.
Key decisions
-
Isolate every room
Presence, messages, images, read state, and draw results update only for participants with a session in that room.
-
Expire the complete room
The room closes 60 minutes after creation. Its sessions, participant names, messages, images, read state, and draw history then become unavailable.
Critical states
-
Make expiry recoverable
When the timer ends, the closed-room message offers the next valid actions: create a new room or join another one.