# winkComposer > winkComposer — composable streaming intelligence. Build streaming pipelines in JavaScript using a fluent, chainable flow language. Composable building blocks from edge devices to the cloud. ## Home - [winkComposer - Composable Streaming Intelligence](https://composer.winkjs.org/): Turn streaming data into actionable insights — from edge to cloud. Composable building blocks, AI-native via MCP. Part of the winkJS ecosystem. - [Home](https://composer.winkjs.org/docs): Build streaming pipelines in JavaScript using a fluent, chainable flow language. Composable building blocks from edge devices to the cloud. ## Playground - [Overview](https://composer.winkjs.org/docs/playground): Interactive demos running live in your browser. Drag sliders, adjust parameters, and inspect messages at each stage of a pipeline. - [Hello Flow!](https://composer.winkjs.org/docs/playground/hello-flow): Build a temperature monitor in four nodes — smooth noise, detect overheating, confirm persistence, and broadcast an alert. Live and interactive. ### Recipes - [Overview](https://composer.winkjs.org/docs/playground/recipes): Short, focused guides for common streaming intelligence problems. Each recipe solves one problem with an interactive demo running real nodes in your browser. - [Gradual Drift](https://composer.winkjs.org/docs/playground/recipes/gradual-drift): Catch slow sensor drift buried in noise using fast/slow exponential smoothing crossover, Page-Hinkley change detection, and persistence confirmation. - [Directional Trend](https://composer.winkjs.org/docs/playground/recipes/directional-trend): A Savitzky-Golay slope kernel converts a signal into its rate of change. Threshold the rate to catch a slow decline before the magnitude alarms. - [Sudden Shifts](https://composer.winkjs.org/docs/playground/recipes/sudden-shift): A Kalman filter knows what it predicted. When reality disagrees, a chi-squared test fires immediately — no threshold tuning, no accumulated evidence needed. - [Hidden Parasitic Drain](https://composer.winkjs.org/docs/playground/recipes/hidden-load): A 0.75 amp leakage on a 100 Ah forklift battery — invisible to every dashboard. A control-aware Kalman filter catches it within 70 minutes. - [PID Loop Hunting](https://composer.winkjs.org/docs/playground/recipes/loop-hunting): Detect a control loop hunting around its setpoint before the actuator fails. Grade the hunting by frequency, not amplitude, with one parameter. - [Frozen Sensors](https://composer.winkjs.org/docs/playground/recipes/sensor-freeze): A flow that learns normal variability and detects when it disappears. Catches stuck sensors reporting stale data that looks valid to every other check. - [Subtle Process Shifts](https://composer.winkjs.org/docs/playground/recipes/run-rules): Apply Western Electric run rules to z-scores — eight consecutive above average, two of three beyond 2σ. Catch patterns invisible to threshold alarms. - [Subsampling with a Deadband](https://composer.winkjs.org/docs/playground/recipes/subsample-deadband): Cut a high-rate sensor stream without losing the events that matter. A running stats node sets the adaptive threshold; passIf keeps the rest. - [Trajectory-Aware Adaptive Compression](https://composer.winkjs.org/docs/playground/recipes/adaptive-compression): Seven composable nodes adaptively subsample a high-rate sensor stream — Kalman prediction, running statistics, and a trajectory-aware winnow gate. ### Explore Nodes - [Overview](https://composer.winkjs.org/docs/playground/explore-nodes): Pick a node, feed it synthetic data, adjust parameters, and see exactly what it computes — inputs, outputs, and everything in between. - [Kalman 1D Filter](https://composer.winkjs.org/docs/playground/explore-nodes/kalman1d): Drag sliders to control smoothing and outlier detection in real time. See how the prediction-correction cycle separates signal from noise. - [Kernel](https://composer.winkjs.org/docs/playground/explore-nodes/kernel): Swap weight presets to smooth noise, compute derivatives, or detect spikes — one convolution operation, many views of the same signal. ## Concepts - [Overview](https://composer.winkjs.org/docs/concepts): How your pipeline processes every message, recovers from bad data, and delivers meaning — not just numbers — to dashboards and APIs. - [Under the Hood](https://composer.winkjs.org/docs/concepts/under-the-hood): What happens inside a pipeline — how messages visit each node, gain new fields, recover from bad data, and keep running when code throws errors. - [Flow Language](https://composer.winkjs.org/docs/concepts/flow-language): Build streaming pipelines with a fluent, chainable JavaScript DSL — pipeline logic as code, with dynamic options that adapt per message. - [Composition Patterns](https://composer.winkjs.org/docs/concepts/composition-patterns): Proven node combinations for common streaming problems — noise-tolerant alarms, drift detection, adaptive diagnostics, and layered multi-stage flows. - [Semantics](https://composer.winkjs.org/docs/concepts/semantics): Define what your data is — types, units, ranges, operational limits — so every dashboard, query engine, and storage schema speaks the same language. ## Use Cases - [Overview](https://composer.winkjs.org/docs/use-cases): Real-world problems solved with real datasets. Each use case runs actual building blocks in your browser — from raw data to explainable assessment. - [Diagnosing WiFi AP Health](https://composer.winkjs.org/docs/use-cases/wifi-ap-health): Real client telemetry from an office WiFi network. RSSI, SNR, retry, and roam signals fuse into per-AP health verdicts — no AP-side telemetry needed. - [Detecting Bearing Failure](https://composer.winkjs.org/docs/use-cases/bearing-health): A real bearing failure from the NASA IMS dataset. Vibration statistics fuse into a health assessment that flags degradation days before breakdown. - [Catching Process Drift](https://composer.winkjs.org/docs/use-cases/process-quality): A catalyst degrades while control loops hide it. Three detectors catch growing pressure oscillations in Tennessee Eastman Process benchmark data. - [Detecting Server Latency Degradation](https://composer.winkjs.org/docs/use-cases/server-health): Average latency looks flat for two weeks. Beneath it, tail latencies grow and the noise envelope widens. Numenta benchmark data, detected 4 days early. - [Classifying Driving Conditions](https://composer.winkjs.org/docs/use-cases/driving-modes): Real GPS data from a truck on Indian highways. Three perspectives of the speed signal fuse into a classification — Highway, City, or Jam. - [Tracking Wash Cycle Quality](https://composer.winkjs.org/docs/use-cases/wash-cycle-quality): Real plant floor pressure from a 90-bar pump. Per-cycle Cpk scores each wash against spec limits while spike detection tracks sensor health. ## Reference - [Overview](https://composer.winkjs.org/docs/reference): Find any winkComposer building block by what it does or by name. Grouped by category with parameters, inputs, and outputs. - [Node Index](https://composer.winkjs.org/docs/reference/node-index): Every winkComposer building block grouped by role — inputs, outputs, parameters, one entry per node. - [NIST AI RMF Mapping](https://composer.winkjs.org/docs/reference/nist-ai-rmf-mapping): NIST AI RMF 1.0 defines four functions for AI risk management. Each mapped to the Composer surfaces that credibly contribute to it. - [ISO 13374 Mapping](https://composer.winkjs.org/docs/reference/iso-13374-mapping): Six-block reference architecture for condition monitoring, mapped block by block to the Composer nodes that implement each one. ## Benchmark - [Benchmark](https://composer.winkjs.org/docs/benchmark): An 8-node pipeline processing 900 readings, measured end-to-end. ~100K msg/sec on Raspberry Pi, 1M+ on a modern server. Run it in your browser. ## Engineering Notes - [Reflections](https://composer.winkjs.org/docs/notes): Reflections on the craft of building winkComposer — design decisions, lessons learned, and research stories from first principles to production. - [What 4KB of RAM Taught Me](https://composer.winkjs.org/docs/notes/what-4kb-of-ram-taught-me): Self-modifying code. Floating-point paranoia. First principles. Lessons from India's first indigenous digital computer — the TDC-12.