SiteWhereChief Architect / Lead Developer
Sep. 2014 - Dec. 2018Greater Atlanta Area• Architect and lead developer of the SiteWhere IoT Platform (https://www.sitewhere.com/), a popular open-source platform for the Internet of Things.
• Designed scalable, extensible microservice-based framework for SiteWhere on top of Kubernetes/Helm/Quarkus architecture and many leading-edge open-source technologies.
• Implemented pluggable communication subsystem for interacting with many transports (MQTT, CoAP, WebSocket) and payload formats, including decoding into a common, unified IoT object model provided by the framework.
• Designed big-data storage implementations on top of MongoDB, Apache HBase, InfluxDB and Cassandra for storing and querying device management and event data for IoT applications.
• Created pipeline architecture based on Apache Kafka/Kafka Streams for processing streaming IoT events and integrating with complex event processing solutions.
• Implemented framework for integrating SiteWhere data with various open source, commercial, and cloud offerings for data processing, alerting, and analytics (Azure EventHub, Apache Storm, Apache Spark, Apache Solr).
• Designed and implemented HTML5 SPA for SiteWhere administrative user interface using Vue.js and the Vuetify Material Design framework. Wrapped in an end-to-end build process that included Webpack/Babel traspilation. Integrated with SiteWhere REST services and real-time WebSocket feeds with dynamic dashboards and a reusable component library.
• Designed SiteWhere Enterprise Edition on top of Kuberentes/Helm infrastructure to support clustering, dynamic scaling, data migration. Used modern Kubernetes operator (GoLang) approach to launch many microservices that self-assemble into a fault tolerant distributed IoT processing platform.