
Observable Client-Side Applications at SmartThings
SmartThings uses TrackJS to build a more robust automation platform for their users and partners by providing instrumentation and observability into the real-time system and user experience.
SmartThings is a platform of IoT devices and software for home automation. Their tools allow users to integrate third-party devices and create custom workflows for automation.
SmartThings has a large network of partners devices and software. Partners configure their devices and workflow in a client-side JavaScript application called Strongman. Strongman allows third-party developers to design automation and workflows on the SmartThings platform.
“There’s a lot of engineering that makes this possible,” says Brad Marsh, the engineering manager for frontend. “We run partner logic to configure a device, such as defining the functions of a smart light bulb. If an error happens, we need to quickly isolate what is happening, who’s code is at issue, and funnel accurate information to our partners.”
When supporting third-party developers running so many different kinds of devices, errors are inevitable. “When you let developers build on your platform, you need to provide a way for them to use and debug it effectively. TrackJS helps us do that.”
Brad MarshEngineering Manager“TrackJS gives us a full picture of what’s going on, and we know where to direct the information. With TrackJS, we can identify what the issue is immediately and understand how to fix it quickly.”
To make isolating bugs faster and easier, SmartThings integrated its systems with the TrackJS API to build custom observability for our system. “Our TrackJS-powered instrumentation allows us to quickly see when a partner is having an outage, or when a developer is having a hard time building something,” says Kristina Durivage, frontend engineer and lead of the Strongman project. “We use this to build better partner relationships and improve our UI workflow and documentation.”
Kristina DurivageLead EngineerI am confident that we understand what’s happening in Strongman with TrackJS. We get a full view of what’s happening when errors spike, and it enables us to build a more robust platform for our partners.
TrackJS has become an integral part of SmartThing’s operations. For Brad, “Email and TrackJS, the first things I look at every morning”. TrackJS gives Brad, Kristina, and the team at SmartThings confidence that the system is running well.