Complete A-to-Z Guide — Every Feature's Workflow, Technology & Security Explained
This app uses WebRTC technology — your data goes directly to the other person's browser. No server stores or reads your data in between.
Connection Hub & Control Center
The Dashboard is your main control panel. This is where you establish connections and access all features. As soon as the page opens, PeerJS generates a unique ID — this is your "Digital Identity".
new Peer()
connects to the PeerJS signaling server
abc-xyz-123)
?peer=ID
auto-connects them to you
On mobile, tap the hamburger menu (☰) on the top-left to open the navigation drawer with all tabs. On desktop, the left sidebar is always visible.
End-to-End Encrypted Messaging
Chat uses the WebRTC DataChannel. Your messages go directly to the peer's browser — no server can read or store them. WebRTC's DTLS encryption is enabled by default.
{ type: 'CHAT', msg: '...' }
over the DataChannel
The chat has a mic button — hold to record, release to send. It uses the MediaRecorder API
to capture audio, convert it to a blob, and send it over the DataChannel.
Real-time Audio/Video Communication
getUserMedia()
captures your local video/audio stream
peer.call(peerId, stream)
Click the purple screen button → getDisplayMedia()
lets you select a screen/window → your peer sees it live. Encrypted with SRTP.
Toggle mic with the mic button. Red phone button ends the call — all streams are stopped and resources freed.
Real-time Location Sharing
{ type: 'GPS', lat, lng }
to peer
Location data is sent only to the connected peer — no third-party server stores it. Your location is never shared unless you explicitly broadcast it.
BitTorrent-Style Decentralized Sharing
Instead of a simple sender-to-receiver model, this app uses a Swarm Engine. When a file is shared, the initial sender "seeds" different parts of the file to different peers in the mesh. These peers then help distribute those parts to each other.
ArrayBuffer
API.
SWARM_HAVE signals for
chunks they possess.
SWARM_REQ directly to another
peer holding it.
Real-time Collaborative Coding + Execution
{ type: 'CODE', val, lang }
to the peer
5 P2P Games — All Real-time Synced
All games use { type: 'GAME', game: '...', action: '...' }
message format. No server involved — everything is P2P!
Reflex test — when the button turns GREEN, tap as fast as you can!
Classic 3×3 grid game — Peer IDs determine who plays X and O.
{ game:'ttt', action:'MOVE', index }
Anti-Cheat: Blind Pick system — both players choose first, then results are revealed simultaneously!
Tug of War style — the faster you tap, the more the bar moves to your side!
Complete chess game with ALL standard rules!
{ game:'chess', action:'MOVE', from, to }
Supported Rules:
Link Exchange & Co-Browsing
Whiteboard, Watch Party, Task Board
{ type: 'BOARD' }
with coordinates.Full-Mesh Multi-User Architecture
This application uses a Full Mesh Network topology. Unlike a central server (Star Topology) where everyone connects to one point, in Explyra P2P, every peer connects to every other peer directly.
This ensures that if one person leaves, the rest of the group remains connected without any downtime or data loss.
Auto-Propagation: When Peer A connects to Peer B, A notifies everyone in their own network about B's existence.
Broadcast Mechanism: Every action (chat, move, fire) is "Broadcasted". The app iterates through all connected peers and sends the signal to each one individually via their private DataChannel.
Conflict Resolution: Since there's no server "clock", we use Peer IDs and high-resolution timestamps to decide whose action happened first if two players collide.
Hardened P2P Protocols
Yes, WebRTC is the world standard for secure browser communication. It enforces two mandatory layers:
Secure Datagram Transport Layer Security. Prevents tampering with chat messages, files, and game data.
Secure Real-time Transport Protocol. Encrypts audio and video streams with unique keys for every session.
To connect directly, browsers exchange IP addresses via ICE Candidates. This is how they find each other's "door" on the internet. While this handshake is visible to the signaling server, your data never goes through the server once the connection is made.
Under the hood of Explyra P2P
Wraps WebRTC complex APIs into simple event-driven P2P.
Efficiently packs large files into small chunks for fast mesh transfer.
High-performance rendering for 60FPS multiplayer games.
Propagates UI states (tabs, inputs) across all peers instantly.