diff --git a/README.md b/README.md
index 5244c56..f35170a 100644
--- a/README.md
+++ b/README.md
@@ -1,234 +1,111 @@

-
# trx-rs
-`trx-rs` is a modular amateur radio control stack written in Rust.
-It splits radio hardware access from user-facing interfaces so you can run
+A modular amateur radio control stack written in Rust.
+
+[](LICENSES)
+
+
+
+`trx-rs` splits radio hardware access from user-facing interfaces so you can run
rig control, SDR DSP, decoding, audio streaming, and web access as separate,
composable pieces.
-The project is built around two primary binaries:
-
-- `trx-server`: talks to radios and SDR backends
-- `trx-client`: connects to the server and exposes frontends such as the web UI
-
-## Web UI Demo
-
-> GIF placeholder: add an animated walkthrough of the website here.
-
-## What It Does
-
-- Controls supported radios over networked client/server boundaries
-- Exposes a browser UI, a rigctl-compatible frontend, and JSON-based control
-- Supports SDR workflows with live spectrum, waterfall, demodulation, and decode
-- Streams Opus audio between server, client, and browser
-- Runs multiple decoders including AIS, APRS, CW, FT8, RDS, VDES, and WSPR
-- Supports multi-rig deployments and SDR virtual channels
-- Loads backends and frontends via plugins
-
-## Architecture
-
-At a high level:
-
-1. `trx-server` owns the radio hardware and DSP pipeline.
-2. `trx-client` connects to the server over TCP for control and audio.
-3. Frontends hang off `trx-client`, including the HTTP web UI.
-
-This separation is intentional: it keeps hardware access local to one host while
-making control and monitoring available elsewhere on the network.
-
-## Workspace Layout
-
-- `src/trx-core`: shared types, rig state, controller logic
-- `src/trx-protocol`: client/server protocol types and codecs
-- `src/trx-app`: shared app bootstrapping, config, logging, plugins
-- `src/trx-server`: server binary and backend integration
-- `src/trx-client`: client binary and remote connection handling
-- `src/trx-client/trx-frontend`: frontend abstraction
-- `src/decoders`: protocol-specific decoder crates
-- `examples/trx-plugin-example`: minimal plugin example
-
-## Supported Pieces
-
-### Backends
-
-- Yaesu FT-817
-- Yaesu FT-450D
-- SoapySDR-based SDR backend
-
-### Frontends
-
-- HTTP web frontend
-- rigctl-compatible TCP frontend
-- JSON-over-TCP frontend
-
-### Decoders
-
-- AIS
-- APRS
-- CW
-- FT8
-- RDS
-- VDES
-- WSPR
-
-## Build Requirements
-
-You will need a Rust toolchain (stable) plus a few system libraries.
-
-### Common (all builds)
-
-| Library | Purpose |
-|---------|---------|
-| **libopus** (dev) | Opus audio codec for streaming between server, client, and browser |
-| **pkg-config** or **pkgconf** | Locates system libraries at build time |
-| **cmake** | Builds the vendored Opus C source (`audiopus_sys`) when a system copy is not found |
-
-### Platform audio
-
-| Platform | Library | Purpose |
-|----------|---------|---------|
-| **Linux** | **libasound2** (dev) | ALSA backend for `cpal` audio capture/playback |
-| **macOS** | Core Audio (ships with Xcode) | No extra packages needed |
-
-### SDR support (optional)
-
-| Library | Purpose |
-|---------|---------|
-| **libsoapysdr** (dev) | SDR device abstraction used by the `trx-backend-soapysdr` crate |
-
-SoapySDR is enabled by default. Build without it using `--no-default-features`:
-
-```bash
-cargo build --release --no-default-features
-```
-
-### Install commands
-
-**Debian / Ubuntu:**
-
-```bash
-# Required
-sudo apt install build-essential pkg-config cmake libopus-dev libasound2-dev
-
-# Optional — SDR support
-sudo apt install libsoapysdr-dev
-```
-
-**Fedora:**
-
-```bash
-# Required
-sudo dnf install gcc pkg-config cmake opus-devel alsa-lib-devel
-
-# Optional — SDR support
-sudo dnf install SoapySDR-devel
-```
-
-**Arch Linux:**
-
-```bash
-# Required
-sudo pacman -S base-devel pkgconf cmake opus alsa-lib
-
-# Optional — SDR support
-sudo pacman -S soapysdr
-```
-
-**macOS (Homebrew):**
-
-```bash
-# Required
-brew install cmake opus
-
-# Optional — SDR support
-brew install soapysdr
-```
-
-## Configuration
-
-Both `trx-server` and `trx-client` read from a shared `trx-rs.toml`.
-
-- Default lookup order: current directory, `~/.config/trx-rs`, `/etc/trx-rs`
-- Use `--config ` to point at an explicit config file
-- Use `--print-config` to print an example combined config
-
-Start from [`trx-rs.toml.example`](trx-rs.toml.example).
+| | |
+|---|---|
+| **Backends** | Yaesu FT-817, Yaesu FT-450D, SoapySDR |
+| **Frontends** | Web UI, rigctl-compatible TCP, JSON-over-TCP |
+| **Decoders** | AIS, APRS, CW, FT8, RDS, VDES, WSPR |
+| **Audio** | Opus streaming between server, client, and browser |
## Quick Start
-### 1. Build
+### 1. Install dependencies
+
+
+Debian / Ubuntu
```bash
-cargo build
+sudo apt install build-essential pkg-config cmake libopus-dev libasound2-dev
+# Optional — SDR support
+sudo apt install libsoapysdr-dev
```
+
-### 2. Create a config file
+
+Fedora
```bash
-cp trx-rs.toml.example trx-rs.toml
+sudo dnf install gcc pkg-config cmake opus-devel alsa-lib-devel
+# Optional — SDR support
+sudo dnf install SoapySDR-devel
```
+
-Adjust backend, frontend, audio, and auth settings for your environment.
-
-### 3. Run the server
+
+Arch Linux
```bash
+sudo pacman -S base-devel pkgconf cmake opus alsa-lib
+# Optional — SDR support
+sudo pacman -S soapysdr
+```
+
+
+
+macOS (Homebrew)
+
+```bash
+brew install cmake opus
+# Optional — SDR support
+brew install soapysdr
+```
+
+
+See [Build Requirements](https://github.com/sgrams/trx-rs/wiki/User-Manual#build-requirements)
+in the wiki for details on each library.
+
+### 2. Build and run
+
+```bash
+cargo build --release
+cp trx-rs.toml.example trx-rs.toml # edit for your environment
cargo run -p trx-server
-```
-
-### 4. Run the client
-
-```bash
cargo run -p trx-client
```
-### 5. Open the web UI
+Open the configured HTTP frontend address in a browser (default `http://localhost:8080`).
-Open the configured HTTP frontend address in a browser.
+Build without SDR support: `cargo build --release --no-default-features`
-## Web Frontend Highlights
+## How It Works
-- Real-time spectrum and waterfall
-- Frequency, mode, and bandwidth control
-- Decoder dashboards and history
-- SDR virtual channels
-- Browser RX/TX audio
-- Optional authentication with read-only and control roles
+```
+Radio / SDR hardware
+ | serial or USB
+trx-server rig control, DSP, decoders, audio capture
+ | JSON-TCP (4530) + Opus-TCP (4531)
+trx-client remote connection, audio relay
+ |
+Frontends Web UI (8080), rigctl (4532), JSON-TCP
+```
-## Authentication
-
-The HTTP frontend supports optional passphrase-based authentication.
-
-- `rx`: read-only access
-- `control`: full control access
-
-When exposing the web UI beyond a trusted LAN, run it behind HTTPS and enable
-secure cookie settings in the config.
-
-## Audio
-
-Audio is transported as Opus between server, client, and browser.
-
-- `trx-server` captures and encodes audio
-- `trx-client` relays audio to the HTTP frontend
-- Browsers connect over `/audio`
+`trx-server` owns hardware access and runs the DSP pipeline.
+`trx-client` connects over TCP and exposes user-facing frontends.
+This keeps hardware local to one host while making control available over the network.
## Documentation
-- [User Manual](docs/User-Manual.md): configuration, features, and usage
-- [Architecture](docs/Architecture.md): system design, crate layout, data flow, and internals
-- [`CONTRIBUTING.md`](CONTRIBUTING.md): contribution and commit rules
-
-## Project Status
-
-This is an active project with evolving APIs and frontend behavior. Expect some
-rough edges and ongoing refactors.
+| Resource | Description |
+|----------|-------------|
+| [User Manual](https://github.com/sgrams/trx-rs/wiki/User-Manual) | Configuration, features, and usage |
+| [Architecture](https://github.com/sgrams/trx-rs/wiki/Architecture) | System design, crate layout, data flow, and internals |
+| [Optimization Guidelines](https://github.com/sgrams/trx-rs/wiki/Optimization-Guidelines) | Performance guidelines for the real-time DSP pipeline |
+| [Planned Features](https://github.com/sgrams/trx-rs/wiki/Planned-Features) | Roadmap and design notes |
+| [Contributing](CONTRIBUTING.md) | Commit conventions, workflow, and code style |
## License
-Licensed under BSD-2-Clause.
-
-See [`LICENSES`](LICENSES) for bundled third-party license files.
+BSD-2-Clause. See [`LICENSES`](LICENSES) for bundled third-party license files.