The central contribution of this paper is to model personalization by the programmatic notion of partial evaluation. Partial evaluation is a technique used to automatically specialize programs, given incomplete information about their input. The methodology presented here models a collection of information resources as a program (which abstracts the underlying schema of organization and flow of information), partially evaluates the program with respect to user input, and recreates a personalized site from the specialized program. This enables a customizable methodology called PIPE that supports the automatic specialization of resources, without enumerating the interaction sequences beforehand. Issues relating to the scalability of PIPE, information integration, sessionizing scenarios, and case studies are presented.