This paper introduces a new user-centric serviceoriented architecture (UCSOA) that allows end users to compose applications. UCSOA is an extension of consumer-centric service-oriented architecture (CCSOA), which is an extension of conventional SOA. The conventional SOA is producer-centric because service providers publish their services and service consumers must search available services to compose their applications. CCSOA is different as it allows consumers publish their needs including workflows and services, and let producers to produce services to meet the requirements. Based on CCSOA, UCSOA provides support for end users. An application builder is an engineer who has both domain and programming knowledge, while an end user has little knowledge on programming and thus UCSOA needs to allow nontechnical persons to compose their applications. This paper presents the concepts, architecture, enabling techniques, and illustrative examples.