Flo Merian
🛬
Flo Merian

Why Specify hasn't built a design system

At Specify, we decided to spend less time defining processes and focus on shipping fast releases.

In this story, I share more about why Specify hasn't built a design system (yet?), how we balance execution and user experience, and what we set up to get things done faster.

Finding the balance between execution and user experience

When wireframing your product for the first time, you don't start by designing the UI components. You start with a rough version of your product UI. Following Brad Frost's Atomic Design taxonomy, you'd start designing the pages, then build step-by-step what looks like a system.

When wireframing your product for the first time, you don't start with the atoms.

This journey doesn't need processes.

They would be an unnecessary additional layer to your workflow. It takes time to set up and maintain, and the problem is that you don't have that time. Working in a fast-growing environment, you must focus on getting things done. Fewer processes, more time shipping.

On the other hand, suppose you don't write specs for your engineering team. It might lead to UI inconsistencies that negatively affect your user experience. Worse, it would create noise and frustration across teams.

At Specify, we're working remotely. We work asynchronously from different places and can't have quick conversations to sync. Plus, we're experimenting with the Shape Up methodology and take good care not to interrupt cycle teams while they work on their projects.

There's a balance between documenting design decisions and getting things done. Then again, the problem is that when you work in a fast-growing environment, you must ship fast.

So, how would you achieve velocity in execution without compromising the user experience?

You don't need better processes. You need automation.

Automating design workflows for faster releases

In software engineering, automation is a core principle for fast releases, and CI/CD is a critical component.

CI/CD comprises of continuous integration and continuous delivery or continuous deployment. Put together, they form a "CI/CD pipeline" — a series of automated workflows that help engineering teams cut down on manual tasks.

— Rizel Scarlett, Developer Advocate at GitHub

Now, with the right connections between your design tool and codebase, CI/CD pipelines would help your design and engineering teams:

  • Automatically collect and store design decisions within a single source of truth — Continuous Integration (CI), then

  • Automatically deliver design changes to production-ready environments for approval — Continuous Delivery (CD), or

  • Automatically deploy design changes to customers directly — Continuous Deployment (CD).

Here at Specify, we don't have a design system. Instead, we built a Design API that helps us set up a CI/CD pipeline for design workflows.

Setting up design CI/CD workflows

We don't have a design system. We don't have processes. Instead, we automate every design decision.

We design on Figma and host our codebase on GitHub. So, we built a Design API to connect both tools. That way, our Figma files are in sync with our codebase. It removes the need to document design decisions.

Setting up a CI/CD pipeline for design workflows, from Figma to GitHub and more.

That's a workflow we apply for every new project and feature we work on.

Designers design on Figma, iterating on their mockups, while software developers deploy on GitHub. UI components may vary from one iteration to another — a border-radius, a spacing, a color… When we update a design token on Figma, we get automatic pull requests on GitHub. We iterate and deliver fast releases with confidence.

When you connect and sync your design tool to your codebase, designers spend more time on pixels, and developers focus on coding. Fewer time-consuming, back-and-forth conversations, QA tickets, and interruptions. More valuable discussions and fun.

Your team focuses on what really matters: building an unparalleled user experience.

Lessons learned

As an early-stage company, your objective isn't to build processes. You want to get things done and find the balance between velocity in execution and user experience. You don't need processes to achieve that. You need automation.

With the right connections between your design tool and codebase, CI/CD pipeline helps your team focus on what really matters: building an unparalleled user experience.

It's more straightforward, productive — and fun.

Send Flo Merian a reply about this page
More from Flo Merian
Back to profile