Apollo

A practical design system

Founded in 2014, Wunder Capital is a solar startup making it easy for businesses, cities, and schools to finance and build clean energy systems. To help its small team achieve this at scale, Wunder created a software platform called Astra.

As Wunder grew over time, Astra became more and more complex. Features were bolted on. New technologies were introduced and then abandoned. The front-end fell into disrepair, leading to a frustrating experience for its users.

When I joined the team in late 2022 as Wunder’s first design hire, rethinking the front-end experience – for both the people using Astra and the people building it – was a top priority.

Open Apollo in Figma
  • Wunder Capital, 2023
  • Systems Design
  • User Research
  • Project Management




The Problem
Astra’s original front-end used a Bootstrap theme called Metronic. Unfortunately, it was so outdated there was no easy upgrade path. It was difficult to work with for our team of mostly backend engineers, and much of the technology it relied on was either no longer supported or outright deprecated.

It was also a major contributor to Astra's usability issues. Astra's front-end was inconsistent, inaccessible, and an eye-sore.

See problem statements doc →

Astra's Project page using Metronic 🤮

The Challenge
From a design perspective, my biggest concern was resourcing. A major overhaul was clearly warranted, but as a design team of one supporting two product squads, I was cautious about taking on such a large project.

With that in mind, I started looking at component libraries we could leverage to de-risk a potential redesign. I narrowed down a long list of possibilities, then created a ranking system to help us make a decision as a team. After some healthy discussion, we chose TailwindUI as our system's base.

See DS comparison grid →

Demo Day slide explaining the difference between Tailwind and Apollo

Getting started
With our base selected, I started experimenting with visual treatments. Wunder had never invested in a brand, so I facilitated a mini brand sprint with the founding team to establish some general guidelines.

I translated those guidelines into a few UI mood boards and shared them with the Head of Product. We considered the needs of our users and the constraints of our team to land on a visual style that was (1) well-suited for dense pages with lots of data, and (2) simple enough for non-designers to work with safely.

Typography styles, aliases, and defaults
Color palette & usage guidelines
Core icons from Phosphor, plus size & weight guidelines

Design approach
To structure the system, I chose the Foundations model described in Andrew Couldwell's phenomenal book Laying the Foundations. With Tailwind taking care of most of the foundational styles for me, I started building out the basic components – buttons, inputs, navigation, etc.

Because I was building for a small team with limited Figma experience, I kept the component structures as simple as possible (although I did go a little ham on the Buttons). That said, I was careful to avoid configurations that would make adding new variants a pain down the line.

A portion of the Button component
Where it made sense, Apollo borrowed certain TailwindUI components to simplify implenetation
Apollo’s simple page template

Implementation strategy
While I was building out components, I worked with a PM and Senior Engineer to agree on what the rollout should look like. We decided to go one page at a time, with exceptions for key flows that were spread across multiple pages.

We used a simple framework – traffic plus technical complexity – to organize pages into batches, and then prioritzed those batches to minimize risk by (1) giving us time to catch and fix bugs in a production environment, and (2) minimize disruption to critical business flows. That prioritization looked roughly like this:

  1. Low traffic, low complexity pages
  2. High traffic, low complexity pages
  3. High traffic, high complexity pages
Before and after: Astra’s Project page
Astra’s Project page using Apollo

Speed enables focus
As Apollo reached a critical mass of components and patterns, I started seeing the benefits to my design workflow right away. I began using Apollo components to quickly shape and sketch solution concepts, making improvements as I found opportunities for them.

With Apollo in place, I was able to spend far less time worrying about cosmetic details and more time focused on finding the right solutions to Astra’s toughest problems. I was thrilled. 😍

Demo Day slide explaining Apollo’s impact on my workflow and mental state

Thanks for stopping by!

To hear more about Apollo and my time at Wunder, get in touch.