Distributed Stream Processing (DSP) systems execute continuous queries over data streams. To handle workload variations, DSP systems run on clusters of machines and rely on auto-scalers. DSP auto-scalers dynamically adjust the number of parallel instances of operators to support a target rate. State-of-the-art auto-scalers couple CPU and memory scaling, allocating resources as one-size-fits-all packages. This contrasts with operators’ high diversity of requirements for CPU and memory. Justin is an auto-scaler that enables hybrid CPU and memory scaling for DSP operators. Justin monitors both CPU usage and the performance of operators’ storage operations. Its mechanisms enable fine-grain memory allocation for tasks upon a query reconfiguration. The Justin policy identifies individual operators’ memory pressure and decides between adjusting parallelism and/or memory allocation for these operators. Justin is implemented in Apache Flink, extending the Flink Kubernetes Operator and its CPU-only auto-scaler. The artifact includes the code of Justin, the extended Flink Kubernetes Operator, and the evaluation scripts, allowing to reproduce the results of the original publication at IFIP DAIS 2025.