Architecture & readiness note
NexaChat's browser demo is a frontend-only release. Every screen, server, contact, and message you see is simulated with timers and localStorage inside this tab — there is no database, backend, LAN server, or network transport behind it. This page separates what's genuinely implemented as local UI behavior from what a native/LAN product would still require.
Implemented in this browser release
- Create Local Server flow that generates a simulated address, join payload, and optional PIN, stored in this browser.
- Join Local Server flow that parses pasted payloads or manual addresses and returns human-readable valid / expired / unavailable / PIN outcomes.
- Locally enforced unique usernames, profile setup, and profile editing — checked only against this browser's storage.
- Chats, People, and Groups with search, empty states, unread counts, and message timestamps.
- Simulated delivery states (sent / delivered / read / failed), typing indicators, and canned auto-replies from seeded demo people via timers.
- Simulated network states (local-only / disconnected / reconnecting) that affect whether messages appear to send.
- Group creation, membership management (add/remove/leave), and host-only server controls (rename, pause, regenerate token & PIN, remove connected user).
- Displayable, copyable QR-style payloads for servers and user profiles (visual pattern only — not a scannable QR).
- In-app local notifications (toasts) for simulated incoming messages while this tab is open.
- Light / dark / system theme, responsive layout, and full browser-local persistence via localStorage.
- Optional demo workspace seeding several people, a group, and conversations for evaluation.
Required for a native / LAN upgrade
- Real local-network hosting and discovery (e.g. mDNS/Bonjour, WebRTC, or a LAN WebSocket/HTTP server) so devices can find each other without pasted payloads.
- An actual device-to-device transport layer — this release has no networking code at all; every 'send' only writes to this browser's storage.
- Camera-based QR scanning using native camera APIs (this browser demo only displays a QR-style graphic and lets you copy/paste text).
- Real end-to-end encryption with key exchange and encrypted storage/transit — nothing here is encrypted; it's plain localStorage.
- Background execution and real push notifications across devices — today's toasts only fire while this tab is open and mounted.
- True cross-device sync — each browser/profile is an isolated workspace; there is no server reconciling state between devices.
- Stronger identity/session security beyond a locally-checked unique username (e.g. real auth, device pairing, revocable tokens).
- Persistent hosting so a server stays reachable when its host's app or browser tab is closed.
- Multi-user moderation and audit trail beyond simple local add/remove/leave actions.
In short: if it happens on this page, it's a local UI simulation designed to let you test the full product journey. Nothing here communicates over a real network.