The document proposes a software process framework to reduce costs of creating and evolving widgets by managing project knowledge. The framework has two parts: 1) Structure knowledge using design patterns collected as best practices to provide a common language for developers. 2) Preserve knowledge by motivating documentation activities through reputation systems and technical reviews to prevent development delays from missing information.