Buildings are connected to multiple information systems such as Building Management Systems (BMS), Energy Management Systems (EMS), Internet of Things (IoT) devices, Building Information Models (BIM), electricity grid, weather services, etc. Modern data-driven smart building software applications demand seamless integration of the above systems and their data. These applications range from monitoring and analytics to data-driven real-time control of building assets and are only efficient if they are reusable, modular and scalable. However, the lack of a system architecture with well-defined Application Programming Interfaces (APIs) that integrates the above systems to provide access to systems and their data poses a significant challenge for developing and deploying such reusable, modular and scalable applications. With the absence of such architecture, the existing applications often rely on ad-hoc tooling, repetitive methods and inefficient data handling practices. In response to the challenges outlined above, this article presents the design and implementation of a system architecture with data-driven smart building applications in mind. The architecture aims to improve the overall reusability, modularity and scalability of smart building applications. The proposed system architecture relies on the Zachman framework and consists of services in five categories, i.e., 1) legacy systems, 2) modern applications, 3) third-party systems, 4) integration software, 5) databases, and 6) user interfaces. The proposed architecture closely resembles the MACH architectural principles: a) Microservices; b) Application Programming Interfaces (API)-first (exposing functionality via APIs), c) Cloud-based components, and d) Headless principles (front-end and back-end logic are decoupled). The proposed architecture is implemented as a proof-of-concept along with three smart building applications, namely 1) a Digital Twin application integrating sensor data with a BIM model, 2) a web application integrating real-time sensor data with semantic graphs, and 3) a data exploratory tool using sensor data, the Brick ontology and Grafana dashboards. Future implementations also include realtime control applications. The proposed architecture and the implementations show a reusable, modular and scalable architecture blueprint that can be used to develop similar architectures for the smart building domain.