Back in 2018, Upbound created an open-source tool called
Crossplane that is a cloud-native framework for connecting Kubernetes with external resources. Upbound historically offered client-by-client services for implementing and managing Crossplane. I was brought in at Upbound in 2022 as a Lead Product Designer to help build a new SaaS product and to facilitate a company transition to be product-led.
The initial release of the Upbound SaaS product was pretty lightweight. It primarily focused on the ability to cloud host Crossplane
Control Planes through our product and surface some basic observability metrics that usually have to be dug out of code. We also introduced our own concept of Spaces, which are self-hosted environments that you can connect to our SaaS product through a CLI to get the same observability metrics without the cloud hosting requirement. We needed Spaces because many companies have on-premises data security requirements.
I was asked to mimic the look and feel you might find through a Stripe dashboard, so I built the design system around that concept. A main design system goal was simplicity and reusability, as this was Upbound's first engineering foray into a SaaS product implementation.
Subsequent design work focused on surfacing more advanced metrics and functionality. Those later versions were not released by the time of my departure and are not pictured here.
Upbound created the
Upbound Marketplace to help companies adopt the Crossplane open source tool. It contains public packages such as Providers (external infrastructure), Configurations (composed APIs), and Functions (rules for how Crossplane should handle new resources).
However, the largest unaddressed pain-point when setting up Crossplane was the connecting and configuring of these resources into a single Crossplane composition. As such, we had an initiative to create a "Resource Builder" to allow users to click and drag to create these compositions. This could generate code, with the ability to launch this composition within the Upbound product as an upsell for our SaaS offering.
Below you can watch a simple Sketch prototype that was used for internal and customer validation.