Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


🎧 Voxera β€” Real-Time Communication Platform

Talk. See. Share. Instantly.

Voxera is a browser-based real-time communication platform enabling
πŸ“ž voice calls, πŸŽ₯ video calls, and πŸ–₯️ screen sharing
using ultra-low latency peer-to-peer streaming.

Inspired by Google Meet, Zoom, and Discord Voice, Voxera is built to explore the core engineering behind real-time systems, without relying on third-party media SDKs.


🌐 Live Demo

πŸ”— Frontend:
πŸ‘‰ https://voxera-rtc.netlify.app

πŸ”— Backend (Signaling Server):
πŸ‘‰ https://voxera-g4st.onrender.com

⚠️ Note: On free hosting, the first request may take ~30 seconds due to cold starts.


⚑ Why Voxera?

βœ” No media server relay
βœ” True peer-to-peer streaming
βœ” Real-time WebSocket signaling
βœ” Clean call lifecycle management
βœ” Production-style UI & UX logic

Voxera is built to understand how real-time systems actually work, not just how to use APIs.


πŸ–ΌοΈ Live Demo Preview

Login β†’ Online Users β†’ Call β†’ Video β†’ Screen Share β†’ End Call


πŸš€ Features

πŸ”— Real-Time Communication Core

  • πŸ“ž One-to-one voice & video calls
  • πŸ–₯️ Screen sharing with system audio
  • ⚑ Ultra-low latency peer-to-peer streaming
  • πŸ”Š Call connect / share / end sounds
  • ❌ Synchronized call termination

πŸŽ›οΈ Call Controls

  • 🎀 Mute / Unmute microphone
  • πŸ–₯️ Start / Stop screen sharing
  • πŸ“ž End call
  • πŸͺŸ Floating camera (Picture-in-Picture)

🎨 UI & UX Experience

  • ✨ Google Meet–inspired interface
  • 🌌 Glassmorphism + gradient backgrounds
  • πŸŽ₯ Smart layout (screen-first, camera PiP)
  • πŸ”” Call state overlays (Calling / Incoming)
  • 🎧 Idle onboarding screen

πŸ› οΈ Tech Stack

πŸ–₯️ Frontend

  • HTML5
  • CSS3 (Glassmorphism, animations)
  • JavaScript (ES6+)
  • WebRTC (Audio, Video, Screen Capture)
  • Socket.IO (Client)

βš™οΈ Backend

  • Node.js
  • Express.js
  • Socket.IO (WebSockets)
  • Google STUN Server

🧠 Architecture Overview

User A  ── WebRTC (Audio / Video / Screen) ──▢  User B
   β”‚                                             β–²
   └──── Socket.IO (Signaling & Presence) β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ WebSockets Handle

  • User presence & login
  • Online user list
  • Call requests
  • SDP & ICE signaling
  • Call end synchronization

πŸŽ₯ WebRTC Handles

  • Peer-to-peer media streaming
  • Camera & microphone capture
  • Screen sharing with system audio
  • NAT traversal via ICE

⚠️ Media streams never pass through the server β€” they flow directly between peers.


πŸ“ Project Structure

Voxera/
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ server.js
β”‚   └── package.json
β”‚
└── frontend/
    β”œβ”€β”€ index.html
    β”œβ”€β”€ style.css
    β”œβ”€β”€ main.js
    └── sounds/
        β”œβ”€β”€ call-connect.mp3
        β”œβ”€β”€ screen-share.mp3
        └── call-end.mp3

▢️ Run Locally

1️⃣ Clone Repository

git clone https://github.com/vansh070605/Voxera.git
cd Voxera

2️⃣ Start Backend

cd backend
npm install
node server.js
βœ… Voxera signaling server running on port 3000

3️⃣ Run Frontend

  • Open frontend/index.html in two browsers/devices
  • Login with different usernames
  • Start calling πŸš€

Recommended browser: Google Chrome


🎯 Call Lifecycle

Login β†’ Select User β†’ Call β†’ Connect β†’ Share Screen β†’ End Call

βœ” Ending a call on one side disconnects both peers βœ” UI resets cleanly on both ends


πŸ§ͺ What This Project Demonstrates

  • WebRTC peer connection setup
  • ICE candidate exchange & NAT traversal
  • Media track replacement (screen sharing)
  • Real-time state synchronization
  • Socket-based signaling architecture
  • Production-grade call lifecycle handling

πŸ”’ Current Limitations

  • One-to-one calls only
  • No TURN server (may fail on strict NATs)
  • No authentication
  • No call recording
  • No group calls (yet)

πŸš€ Future Enhancements

  • πŸ‘₯ Group calls / voice rooms
  • πŸŽ₯ Camera on/off toggle
  • ⏱️ Call duration analytics
  • πŸ” Authentication & user profiles
  • 🌍 TURN server integration
  • πŸ“Š Network quality indicators
  • πŸ“± Improved mobile UX

πŸ“„ Resume-Ready Project Statement

Voxera is a real-time communication web application built using WebRTC and WebSockets, enabling peer-to-peer voice calls, video calls, and screen sharing with synchronized call lifecycle management and a modern, production-grade UI.


πŸ‘¨β€πŸ’» Author

Vansh Agrawal Engineering Student | Full-Stack & Real-Time Systems Enthusiast


⭐ Final Note

Voxera focuses on real-world real-time communication engineering, not just UI demos. It demonstrates the same foundational concepts used in Google Meet, Zoom, and Discord β€” built completely from scratch.

About

Real-time WebRTC app for peer-to-peer voice, video, and screen sharing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages