This is [cross-posted from `math.se`](https://math.stackexchange.com/questions/4043136/putting-sheaves-to-work-for-algebraic-topology) after receiving points and no answers. I apologise if this question is too basic for MathOverflow.


I'm refreshing my memory of covering space theory, and this time around, I know some sheaf theory. It feels like arguments are used to prove results about covering spaces, such as uniqueness of lifts, having something "sheafy" about them.


For example, to prove uniqueness of lifts, we argue by trying to extend "equality at a point" to "equality over a neighbourhood" to "equality over the entire domain". It seems like the language of sheaves may make this clearer?


Similarly, when it comes to covering spaces, there is something "etale-like" about them. Is there a reference that expands on this perspective?



Putting sheaves to work for algebraic topology?
For sufficiently nice topological spaces $X$ (e.g., locally connected for the last two categories to be equivalent, and semilocally simply connected and locally path-connected for all three to be equivalent), the following three categories are equivalent:


* Functors from the fundamental groupoid of $X$ to the category of sets;
* Covering spaces over $X$;
* Locally constant sheaves of sets on $X$.


This is an extremely primitive baby version of the Riemann–Hilbert correspondence.


References specifically for this elementary case are sparse,
but there is an [extensive discussion on locally constant sheaves](https://golem.ph.utexas.edu/category/2010/11/locally_constant_sheaves.html) at the nCafé.


