TH
thughari/RandomChat
a video chat application done with Java 21 Virtual threads and web RTC
๐ฅ 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 Render
โก 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:runFrontend
Open http://localhost:8080 in two browser tabs/devices.
๐ง How It Works
- Users connect via WebSocket to the backend
- Backend matches peers and relays SDP/ICE for negotiation
- WebRTC creates a direct media connection between users
- 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.
On this page
Languages
Java31.4%HTML24.5%JavaScript23.3%CSS20.2%Dockerfile0.5%
Latest Release
v1.0.0June 13, 2025Created June 5, 2025
Updated February 17, 2026