System Architecture Overview
Relevant source files
The following files were used as context for generating this wiki page:
RuView (WiFi-DensePose) is a camera-free RF perception system that transforms commodity WiFi infrastructure into a human sensing platform. The system extracts Channel State Information (CSI) from WiFi signals to estimate human poses, track movement, and monitor vital signs through walls without optical sensors.
The project maintains a clear boundary between its core Rust implementation (v2/), Python reference pipeline (archive/v1/), ESP32 firmware, and various integration harnesses. This architecture ensures high-performance real-time processing while supporting diverse deployment targets from edge devices to cloud environments.
Sources: AGENTS.md:7-10, plans/phase2-architecture/system-architecture.md:12-16, harness/ruview/src/guidance.js:52-62
Layered System Structure
The RuView architecture consists of five logical layers that handle everything from raw signal acquisition to user visualization.
The diagram shows the hierarchical flow of data from hardware sensors through core processing to the end-user applications.
Sources: plans/phase2-architecture/system-architecture.md:20-56, plans/overview.md:5-39
Component Responsibilities
| Layer | Responsibility | Key Technologies |
|---|---|---|
| Hardware | CSI extraction and UDP streaming | ESP32-S3/C6, Atheros Routers |
| Processing | Signal cleaning, NN inference, and tracking | Rust, PyTorch, C++ Modules |
| Service | Unified API access and real-time distribution | FastAPI/Axum, WebSocket, MQTT |
| Application | 3D Visualization and dashboarding | React, React Native, Three.js |
Sources: plans/phase2-architecture/system-architecture.md:65-145, plans/overview.md:43-55
Core Processing Pipeline
The Core Processing Layer transforms raw radio perturbations into structured human pose data. The pipeline operates with a target end-to-end latency of under 100ms.
- CSI Data Acquisition: The collector receives UDP streams (10-30 Hz) from routers or ESP32 nodes.
- Signal Preprocessing: The system performs phase unwrapping, amplitude normalization, and temporal filtering to remove noise.
- Neural Network Inference: A DensePose-based model translates CSI features into spatial representations.
- Multi-Person Tracking: The engine assigns IDs and maintains trajectory consistency for up to 5 individuals.
Sources: plans/phase2-architecture/system-architecture.md:151-175, plans/phase1-specification/system-requirements.md:125-135
This sequence illustrates the transformation of raw signal data into actionable tracking information.
Sources: plans/phase2-architecture/system-architecture.md:153-167
Deployment and Infrastructure
RuView supports multiple deployment architectures, ranging from single-container development setups to distributed Kubernetes clusters.
Service Boundaries
The API Gateway acts as the single entry point, routing requests to REST services or the WebSocket server for real-time streams. The Sensing Server integrates directly with NVS provisioning and edge intelligence modules (ADR-041).
Sources: plans/phase2-architecture/system-architecture.md:204-230, ui/mobile/README.md:162-178
Container Specifications
- Neural Network Container: Requires NVIDIA CUDA and approximately 4GB RAM for GPU-accelerated inference.
- CSI Collector: Uses host networking to receive UDP packets with minimal overhead.
- Database: Utilizes TimescaleDB (PostgreSQL) for efficient time-series storage of pose history.
Sources: plans/phase2-architecture/system-architecture.md:270-305, plans/overview.md:45-48
Data Models
The system communicates via structured JSON frames over WebSockets. The primary unit of exchange is the SensingFrame.
interface SensingFrame {
timestamp: number;
source: "live" | "simulated";
nodes: SensingNode[]; // Per-node RSSI and position
features: FeatureSet; // Motion band power, variance
classification: {
presence: boolean;
confidence: number;
};
vital_signs?: VitalsData; // breathing_bpm, hr_proxy_bpm
}
Sources: ui/mobile/README.md:202-215, plans/phase2-architecture/system-architecture.md:236-258
Security and Privacy
A core architectural principle of RuView is privacy preservation. The system is designed to provide sensing capabilities without visual data.
- Privacy-Gated Sensing: Raw BFI (Baseband Frequency Information) never exits the node in privacy-mode (ADR-118).
- Identity Protection: The system uses anonymous tracking where pose data is processed without PII (Personally Identifiable Information).
- Authentication: External interfaces require JWT or API key-based authentication, while internal communication is segmented within private networks.
Sources: plans/phase1-specification/system-requirements.md:143-157, plans/phase2-architecture/system-architecture.md:415-432
Conclusion
RuView’s architecture enables a high-performance, camera-free sensing environment by decoupling signal acquisition from deep learning inference. The modular design supports low-latency pose estimation and multi-person tracking, providing a scalable foundation for applications in healthcare, security, and disaster response.
Sources: plans/phase2-architecture/system-architecture.md:483-500, plans/overview.md:112-120