  Codes with locality, also known as locally recoverable codes, allow for
recovery of erasures using proper subsets of other coordinates. Theses subsets
are typically of small cardinality to promote recovery using limited network
traffic and other resources. Hierarchical locally recoverable codes allow for
recovery of erasures using sets of other symbols whose sizes increase as needed
to allow for recovery of more symbols. In this paper, we construct codes with
hierarchical locality from a geometric perspective, using fiber products of
curves. We demonstrate how the constructed hierarchical codes can be viewed as
punctured subcodes of Reed-Muller codes. This point of view provides natural
structures for local recovery at each level in the hierarchy.
