Gene regulatory networks (GRNs) provide a fundamental framework for understanding the molecular mechanisms that govern gene expression. Advances in single-cell RNA sequencing (scRNA-seq) have enabled GRN inference at cellular resolution; however, most existing approaches rely on predefined clusters or cell states, implicitly assuming static regulatory programs and potentially missing subtle, dynamic variation in regulation across individual cells. To address these limitations, we introduce NeighbourNet (NNet), a method that constructs cell-specific co-expression networks. NNet first applies principal component analysis to embed gene expression into a low-dimensional space, followed by local regression within each cell's k-nearest neighbourhood (KNN) to quantify co-expression. This approach improves computational efficiency and stabilises co-expression estimates, mitigating challenges posed by small sample sizes in KNN regression and the inherent noise and sparsity of scRNA-seq data. Beyond co-expression, NNet supports scalable downstream analyses, including (i) clustering and aggregating cell-specific networks into meta-networks that capture primary co-expression patterns, and (ii) integrating prior knowledge to annotate co-expression and infer active signalling interactions at the individual cell level. All functional modules of NNet are implemented with an efficient algorithm that enables application to large-scale single-cell datasets. We demonstrate NNet's effectiveness through three case studies on transcription factor activity prediction, early haematopoiesis, and tumour microenvironments. Provided as an R package, NNet offers a novel framework for exploring cellular variation in co-expression and integrates seamlessly with existing single-cell analysis workflows.