With the expected adoption of robots able to seamlessly and intuitively interact with people in real-world scenarios, the need arises to provide non technically-skilled users with easy-to-understand paradigms for customising robot behaviours. In this paper we present an interaction design robot programming platform for enabling multidisciplinary social robot research and applications. This platform is referred to Node Primitives (NEP) and consists of two main parts. On the one hand, a ZeroMQ and Python-based distributed software framework has been developed to provide inter-process communication and robot behaviour specification mechanisms. On the other hand, a web-based end-user programming (EUP) interface has been developed to allow for an easy and intuitive way of programming and executing robot behaviours. In order to evaluate NEP, we discuss the development of a human-robot interaction application using arm gestures to control robot behaviours. A usability test for the proposed EUP interface is also presented. 4 success,msg = sub.listen_info(block=True) 5 human_state = msg["human_state"]