The recent emergence of web mash-ups and open source software is driving the development of new practices in software and systems development. In this paper we explore novel practices of user-driven innovation through an examination of several case studies which illustrate how users and developers are exploiting the proliferation of open APIs and open source systems. Developers can rapidly create proofs of concept that are robust enough for actual use by combining preexisting software components. The underlying programming processes involved make use of tried-and-true software development techniques, and may not appear innovative at first. However, the application of these practices and techniques to problem solving by non-programmers shows a high degree of creative innovation, giving rise to new ways of thinking about technology design and production.