In this paper we present the rationale and the main components of a modular and extensible architecture for building and deploying mobile hypermedia software. Using some simple archetypical examples we show how to provide context-aware assistance to the mobile user, as he explores the physical world. We also show that this kind of software systems poses strong requirements on supporting software (such as Web browsers) and we explain how to provide a modular software substrate to support these requirements. This paper shows how to use some simple concepts to develop complex context-aware systems, which are evolvable and easy to extend.