Hacker News new | ask | show | jobs
by PragmaticPulp 1942 days ago
Some experience from dealing with this recently: Unless you have a very large design team and long timelines, it's best to start with an existing design system and tweak it. Adjust it to your liking, get buy-in, and then agree to keep it locked in place except for minor adjustments. Save the big goals for a V2 design to be launched at a later date.

A design system is only as valuable as the time it saves. If the design team spends months perfecting a design system and associated sandbox demo before they can even get to the core design work, it's unlikely that it's actually helping deliver the product on time.

It's also dangerous to let the design system become a moving target, where the design language changes from week to week. Each change will burn developer time integrating the changes, which will inevitably turn into multiple sprints dedicated to creating a theming system for your products, none of which really moves the product forward.

In a true startup environment, if you can't get the design system 90% complete in the first week or two, it's at risk of becoming more of a liability than a benefit.

2 comments

I'm not sure long timelines are a requirement. Finding product-market fit seems the aim and having components that facilitate quickly iterating makes sense--especially if the designers and developers can independently iterate in parallel (which is incidentally easily achieved with the right experience and management--and frankly the prior expertise is the time specific benefit). Startups as much or more than any group fail so I don't think anyone has found a formula otherwise the failure rate wouldn't be as high. If the staff can take the design system and leverage it for the next job that doesn't seem as poorly considered as many startup's direction. They did after all get hired to design something so if that system takes less and less time and becomes increasingly effective it might become their own automated side thing.
Author here, thanks for the feedback!

I fully agree - if I were to start a new project today, I would most certainly use an existing design system and tweak it.

We actually did use an existing system/framework at start called ant.design, but we slowly started replacing it. Many components had some kind of a quirk which did not let us use it the way we intended - resulting in various hacks on top of it. As I mentioned in another comment, the rest the design system "crafting" at Deepnote was mostly re-organizing elements and making sense of what we already had and unifying it. This reduced the scope of the work to be done by a lot.

So far maintaining the current design system and using it has not been a time sink, eager to see what the following months will bring.