Skip to content
Version 2Active developmentInfrastructure completeDesktop application under construction
LynxDock logo
Version 2 · Active development

Your comms. Your ops. Your server.

LynxDock is a self-hosted communication and tactical operations platform for gaming organizations — chat, voice, and a live tactical command board in one deployable unit, running on hardware your community owns.

Rust coreTauri desktopLocal-firstSelf-hostablePrivacy-firstLightweight
Squadron Control

A live tactical operations center.

Zones, unit nodes, routes, objectives, orders, and readiness — synchronized in real time across every connected member. Fleet admirals run the op from the board; wings see orders as they're issued.

LynxDock Squadron Control — live tactical operations board with a command tree, wings, zones, routes, and objectives

A staged operation on the live board: a command tree over two wings, rally / danger / attack / exfil zones, and three operation routes — assault, recon, and medical — each with its own symbology.

Operation routes up close — named waypoints, live progress, and the commander's route rollup panel

Routes up close: named waypoints with types and statuses, waypoint-by-waypoint progress, and the commander's rollup tracking every route on the board.

The same operation with the orders panel open — issued orders beside the live board

Orders are issued from the board and land beside the picture they describe — objectives, wings, and routes each get their own panel on the same surface.

Comms built for operations

Briefings, wing channels, and comms discipline.

Channels, multi-party voice, and presence with your command structure visible at a glance — in the same app as the tactical board.

Self-hosting without the pain

One process. One file. Your hardware.

The Server Host is a dedicated owner console. A calm first-run wizard creates your server without config files or terminal commands, then an Overview command center gives you a health verdict, a readiness score, and one-click fixes. Manage members, roles, channels, invites, backups, and voice; check reachability with a real round-trip proof; and read plain-language connection help — for local testing, LAN parties, or friends over the internet.

Server Host guided setup wizard
Server Host dashboard
Server Host admin controls
Server Host live logs
The desktop application

A real application, under active construction.

Infrastructure is complete and the desktop app is taking shape. Here's what runs today — and the framework the rest is built on.

LynxDock — Desktop
My Workspace
WorkspaceProfileSettingsChannels# general# dev3# design
# general
Today

Pushed the local messaging slice — edit + search work now.

you · 2h · edited

Unread counts and day separators are in.

you · 1h

Next up: reactions and mentions.

you · just now

Message #generalSend
Working today

Chat, voice, presence, and a live tactical board.

The desktop app now runs against a real self-hosted server: synced channels with replies and search, multi-party voice, live presence with custom status, and Squadron Control — a tactical operations board with routes, orders, and replay, consistent across every connected member. All of it is in active development and verified end to end as it lands.

Squadron Control

A live tactical board: units, wings, routes with waypoints, zones, objectives, orders, alerts, replay, and undo — synced to every client.

Messaging

Server-synced channels with replies, reactions, rich formatting, search, and an offline outbox that delivers exactly once on reconnect.

Voice

Voice rooms with mute/deafen, device selection, and screen sharing over a self-hosted media plane — with NAT traversal handled for you, no LiveKit or TURN setup required.

Roles & channels

Server-wide roles with capability tokens, custom colors and ordering, multiple roles per member, and first-class text/voice/tactical channels grouped into categories.

Settings

A 20-category, searchable settings system — server-persisted per account, privacy-first defaults, Basic and Advanced modes.

Genesis UI

LynxDock's own component framework: design tokens, a theme engine, and a Tailwind preset.

Rust core

A protocol-first Rust server and Tauri desktop shell; TypeScript types are generated from the Rust protocol so client and server can't drift.

Server Host

A dedicated owner console: guided setup, an Overview command center, members, roles, channels, invites, backups, connectivity, and diagnostics — self-hosting without config files.

Tested seriously

Reconnect, offline replay, multi-client convergence, undo, and permissions covered by automated tests and live multi-account verification.

Studio

GSpec Studio validates a specification entirely in the browser using the shared core.

What we stand for

Communication you actually own.

The constraints we design LynxDock around — the reason it feels different to run.

Own your data

Local-first today, self-hostable tomorrow. Your accounts, messages, and files stay with infrastructure you control.

Performance matters

A Rust core and a lightweight desktop shell. Fast to launch, calm to use, light on resources.

Open architecture

Spec-driven and generated end to end. Wire types come from Rust; the site comes from the spec.

Privacy by default

No ads, no tracking, no telemetry required. Restraint is a feature.

How it's built

Spec-driven, polyglot, generated end to end.

A versioned specification feeds the infrastructure layer, which supports one product monorepo spanning Rust and TypeScript.

Infrastructure (V1)
  1. GSpecshipped

    The Genesis Specification — one versioned source of truth in YAML + JSON Schema.

  2. Bootstrapshipped

    The compiler: parse → validate → IR → generate ecosystem artifacts.

  3. Release Toolsshipped

    Turns a GitHub release into a signed releases manifest.

  4. Websiteshipped

    This static site, consuming generated data.

Product monorepo (V2)
  1. sharedshipped

    Base types, helpers, logging, config, errors.

  2. protocolshipped

    Canonical wire types, generated Rust ↔ TypeScript via ts-rs.

  3. genesis-uishipped

    The component framework: tokens, theme engine, Tailwind preset.

  4. desktopshipped

    Tauri app: workspace, identity, settings, local messaging.

  5. studioshipped

    GSpec Studio — in-browser spec validation.

  6. pluginsshipped

    Plugin SDK: manifest + capability model.

  7. aishipped

    Agent & tool contracts.

The roadmap

From foundation to a full platform

LynxDock is built in the open, tracked as epics. Foundation, messaging, networking, voice, tactical operations, and the Server Host are done; communities and roles are landing; release distribution is in progress.

  1. Epic 0Completed

    Foundation & Runtime

    The infrastructure the whole platform is built on: a polyglot monorepo, generated protocol types, shared libraries, CI, and a publish-gated release pipeline.

    • pnpm + Turborepo monorepo, Rust Cargo workspace
    • @lynxdock/shared, @lynxdock/protocol (Rust ↔ TypeScript via ts-rs)
    • @lynxdock/gspec with a Golden-IR contract test and browser support
    • CI (JS + Rust) and Changesets release pipeline
  2. Epic 1Completed

    Workspace & Identity

    The top-level container and who you are, stored locally. Everything else hangs off the workspace.

    • Local workspace (name, icon) as the root container
    • Profile: display name, avatar color, Rust-side validation
    • Settings applied live: theme engine, reduced motion, privacy status
    • Desktop sidebar: Workspace → Profile → Settings
  3. Epic 2Completed

    Local Messaging

    A full local-first chat client — the messaging layer everything networked now builds on. Workspace → Channel → Message.

    • Channels and messages: compose, edit, delete
    • Reactions, @-mentions, and local file attachments
    • Full-text search (SQLite FTS5) with channel and attachment filters
    • Unread counts, previews, day separators, relative timestamps

    Next: Now synced over the network in Epic 3.

  4. Epic 3Completed

    Networking

    Messaging made real-time over a self-hostable server: a WebSocket hub, live sync, and resilience on flaky connections.

    • WebSocket hub transport + RPC, Argon2 auth, presence
    • Server-backed read state with live cross-device sync
    • Offline outbox: queues while disconnected, drains on reconnect
    • Self-hostable Rust server with schema migrations, backup, export & import
    • Network posture: invite-gated registration, per-IP auth rate limits

    Next: Hardened to the beta bar by the 2026-08 security pass (attachment-path fix, RPC rate limiting, supply-chain gate).

  5. Epic 4In Progress

    Communities, Servers & Roles

    Persistent self-hosted communities with a real permission model: server-wide roles, first-class channels, and owner-managed membership.

    • Server-wide roles: named, colored, ordered, with capability tokens (forward-extensible; unknown tokens round-trip)
    • Multiple roles per member; a protected Owner that always keeps administrator
    • First-class channels + categories — text, voice, and tactical kinds
    • Member administration + role assignment, capability-gated in the client
    • Invite-gated membership; the server is the single authority (client never trusted)

    Next: Friends, direct messages, and cross-server presence are next.

  6. Epic 5Completed

    Voice & Screen Sharing

    Real-time voice and screen sharing over a self-hosted SFU (LiveKit), with a clean two-plane split between control and media — and NAT traversal that actually works, proven end to end.

    • Control plane: live call roster with join / leave / mute / deafen / screen-share state
    • Audio media, active-speaker ring, input/output device pickers, autoplay unblocking
    • Screen sharing: publish, subscribe, multi-tile viewer
    • Self-hosted TURN (LynxDock-built coturn) with room-scoped, time-limited credentials
    • Real RFC 5766 relay allocation proven in CI; unauthenticated allocation denied (no open relay)

    Next: File transfer over the same media plane is planned.

  7. Epic 6Completed

    Tactical Operations

    Squadron Control — a live tactical operations board in the same app as your comms. A shared operating picture that stays consistent across every connected member.

    • Command tree, wings, unit nodes, zones, routes with waypoints, objectives, orders, alerts
    • Owned layered sketches, tactical graphics, on-board measurements, and temporary marks
    • Per-viewer visibility with label/color editing; working → Mission promotion
    • Commander archive/fade with a replay-visible record; Mission Log + after-action review
    • Real-time convergence across clients, verified end to end (ADR-0027, closed at Sprint 7)
  8. Epic 7Completed

    Server Host

    A dedicated owner application that makes self-hosting approachable — create and run a real LynxDock server without config files or the terminal.

    • Overview command center: health verdict, readiness score, one-click fixes
    • Members, roles, channels, and a server profile (icon, banner, rules, landing channel, join preview)
    • Invites, online backups & recovery points, connectivity, and diagnostics
    • Make Reachable with round-trip proof; honest network posture (double-NAT / CGNAT / manual)
    • Voice/TURN control with verified component acquisition; live health, lifecycle, and recovery

    Next: V1 Server Host parity reached; owner UI/UX acceptance passed (2026-08).

  9. Epic 8In Progress

    Release & Distribution

    Getting trustworthy builds onto machines: CI installers, a verified component supply chain, and Windows code signing.

    • CI-built Windows installers (MSI + NSIS) for the desktop app and the Server Host
    • ed25519-signed component manifest + verify-before-execute; public component origin
    • Windows Authenticode via Azure Artifact Signing wired into CI (fail-closed, gated)

    Next: Owner Azure provisioning enables the first signed release; an auto-updater follows.

  10. Epic 9In Progress

    Mission Control & Observability

    One honest view of the whole system: a shared status contract, a live hub every module reports into, and an event timeline — so health, activity and progress are observable rather than guessed at.

    • System status contract with a worst-wins health roll-up, generated to a single artifact
    • Mission Control hub: modules, metrics and entities aggregated into one state
    • Live server feed over the WebSocket hub — connections, active voice rooms, host CPU/RAM
    • Event bus and timeline: retained event history replayed into a live activity log

    Next: Dashboards, an integration layer, and AI Workforce views are designed and next.

  11. Epic 10Planned

    AI & Automation

    Agents and tools wired into the workspace, built on the @lynxdock/ai tool contracts.

    • Tool contracts
    • Workspace-aware agents
  12. Epic 11Planned

    Plugins

    Third-party extensibility via the @lynxdock/plugins SDK — a capability model and plugin host.

    • Plugin SDK & manifest
    • Capability model

    Next: The point at which the packages begin publishing to a registry.

  13. Epic 12Planned

    Studio

    The engineering environment, including GSpec Studio, matured into a real tool for building on the platform.

    • GSpec Studio
    • In-browser spec validation
Explore more
Notes from the build

Latest updates

What we built, what problem it solved, and what we learned - published as we go.

All articles
Get started

Follow along as LynxDock takes shape.

The alpha desktop app is in active development (internal build 0.1.0-alpha). Grab it, watch the roadmap, and follow the work on GitHub.