GitHunt
TH

๐ŸŽฅ RandomChat

A lightweight, real-time video chat app that randomly connects two users for peer-to-peer video/audio communication.

Built with:

  • โš™๏ธ Java 21 Virtual Threads
  • ๐Ÿš€ Spring Boot + WebSockets (signaling)
  • ๐Ÿ“น WebRTC (video/audio)
  • ๐ŸŒ Vanilla HTML + JS frontend

๐ŸŒ Live Demo here

๐Ÿ‘‰ Try it now on RenderLive


โšก Features

  • Anonymous 1-to-1 video chat
  • Peer-to-peer media via WebRTC
  • Fast signaling with WebSockets
  • Scalable backend using Java Virtual Threads

๐Ÿ› ๏ธ Run Locally

Backend

cd RandomChat
./mvnw spring-boot:run

Frontend

Open http://localhost:8080 in two browser tabs/devices.


๐Ÿ”ง How It Works

  1. Users connect via WebSocket to the backend
  2. Backend matches peers and relays SDP/ICE for negotiation
  3. WebRTC creates a direct media connection between users
  4. STUN server is used for NAT traversal

๐Ÿ“ฆ Tech Stack

  • Backend: Java 21, Spring Boot, WebSockets, Virtual Threads
  • Frontend: HTML, JavaScript, WebRTC
  • STUN Server: Google public STUN

๐Ÿ™‹โ€โ™‚๏ธ Author

Hari Thatikonda
๐Ÿ“ซ haribabutatikonda3@gmail.com
๐Ÿ”— GitHub | LinkedIn


๐Ÿ“„ License

MIT โ€” use it freely, improve it collaboratively.

thughari/RandomChat | GitHunt