Rizz Roulette Web App
The public React app for random 1-to-1 video chat—sign-in or guest entry, live matching, WebRTC calls via LiveKit, coins, and creator discovery.
2024
React
TypeScript
Vite
NestJS
MongoDB
Redis
Socket.IO
LiveKit
Tailwind CSS

Context
Rizz Roulette is Omegle-style random video chat with accounts, coins, and creators—not a simple demo page. Visitors need to understand the product in seconds, join without friction, and survive a noisy realtime lifecycle: waiting in queue, receiving a match with LiveKit credentials, staying connected while video loads, and handling partner disconnects, wallet updates, or moderation prompts without the UI locking up or dropping the call.
Build
We split the product into clear screens. The landing page (GuestShell) sells the experience and offers guest entry or Google sign-in. MatchShell owns everything until two people are paired: Socket.IO listens for queue and match events from NestJS, shows waiting state, then hands off room URL and token to the call UI. CallApp is the in-call experience—LiveKit for WebRTC video, controls for mic/camera/next, plus modals for coins, reports, and subscriptions that never unmount the video layer. CreatorDeck is a separate discovery path when fans want a named creator instead of pure random matching.
Each concern has its own React hooks (matching, LiveKit room, visitor analytics, creator fan waiting) so state does not tangle. REST calls handle profiles and payments; sockets handle timing-sensitive match data. Chat translation and video quality helpers run beside the main call flow so new monetization or safety features can ship without rewriting matching logic.
Client: Rizz Roulette
Impact
- A first-time visitor can read the landing page, enter as guest or member, and reach a live video call with understandable status at each step
- Same match and call components for guests and signed-in users—only auth and wallet differ
- LiveKit delivers self-hosted WebRTC; the UI never exposes tokens or server URLs beyond what the match payload requires
- Coins, reports, and creator entry points available during a call without tearing down the video room
- Page visits tracked from the client for marketing and ops dashboards on the admin side
More case studies

