NexaChat

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.