Open any product that has been around for a few years and you will find the same thing: five shades of blue, three kinds of primary button and forms that look different depending on who built them. Nobody planned it. It is what happens when a product grows faster than its design rules.

TL;DR: You can turn an inconsistent interface into a design system without a redesign by building it from what already ships. Audit the interface, decide which variants to keep, standardize design tokens first and the most-used components second, then replace old versions screen by screen while someone owns the system.

This guide covers why interfaces drift, how to audit one, what to standardize first, how to roll the system out in stages and how to keep it from drifting again.

Why does a product’s UI become inconsistent over time?

Interfaces become inconsistent because every shortcut is reasonable on its own. A developer copies a button from another screen and tweaks the padding. A new team builds a feature under deadline and picks colors by eye. A designer leaves, and the next one starts from a screenshot instead of a source file. After a few years, no single decision caused the mess and no single decision can fix it.

The costs are easy to underestimate. Users meet controls that behave differently in different places. Designers redraw the same component again and again. Developers maintain duplicate templates, and every change has to be made in several places. Accessibility suffers too, because contrast and focus states are fixed in one screen and forgotten in the next.

Can you build a design system for an existing product without a redesign?

Yes, and for most products it is the better route. Instead of drawing an ideal system and forcing the product to match it, you build the system from the interface you already ship, keep what works and merge what repeats. Ekreative ran into exactly this on Plan-It, a long-running SaaS platform where hundreds of customer-facing reports had been built in inconsistent styles, leaving duplicate templates that were hard to maintain. Using AI-assisted code transformation, the team consolidated the reports into one design system.

The point of that example is the method, not the tooling. The reports did not need to be redesigned one by one. The repeated patterns were found, merged into shared building blocks and then applied across the whole set. That is the same logic you can use on any existing interface, with or without AI help.

A bottom-up system has two advantages over a top-down one. It reflects real use, so it is far more likely to fit the product. And it delivers value early: the first merged components already remove duplication, long before the system is “finished”.

How do you audit an inconsistent interface?

Start with an interface inventory. The aim is to see how much variation exists and which variants matter. A practical audit has four steps:

1.      Collect the screens. Capture the main flows and every distinct page type, or export them from the code if you can.

2.      Count the variants. For each element, such as buttons, inputs, tables, modals, headings, colors and spacing values, list how many versions exist.

3.      Group and rank. Cluster near-duplicates and rank each group by how often it appears. A variant used on forty screens matters more than one used on two.

4.      Decide. Mark each group as keep, merge or drop, and note the reason.

The result is a short, honest picture of your interface. A simple table is enough to record it:

Element Typical variants found Decision
Primary button Several shades of the brand color, different heights and corner radii Merge into one primary style with defined states
Text colors Many near-identical grays Reduce to a small scale that meets contrast requirements
Spacing Values such as 10, 12, 14, 15 and 16 pixels used for the same purpose Adopt a fixed spacing scale
Form fields Different label positions, error styles and heights Define one field pattern with validation states
Tables and reports Duplicate templates built in separate styles Consolidate into shared table and report components

 

Tooling can speed up the inventory. Browser developer tools and CSS analysis scripts can list every color, font size and spacing value used across your stylesheets, and design tools can show how many distinct styles a file contains. A count of the distinct grays or font sizes in your product is far more persuasive in a planning meeting than the statement that the interface feels inconsistent.

Keep the audit proportional. You do not need to catalog every pixel. Cover the elements that appear most often and the places where inconsistency hurts users most, and treat the rest as backlog.

What should you standardize first?

Standardize in layers, because each layer depends on the one below it. A sensible order is tokens, then components, then patterns.

Design tokens. Tokens are named values for color, typography, spacing, radius and elevation. They are the lowest-cost layer to introduce and they make every later step easier, because a change to a token reaches every component that uses it. This is also the layer most teams have already adopted: in zeroheight’s Design Systems Report 2025, based on 294 practitioners surveyed in late 2024, 84% of teams used design tokens, up from 56% the year before.

When you define color tokens, fix accessibility at the same time. Check text and interface colors against WCAG contrast requirements, so the new scale is better than the old one, not just tidier.

Name tokens by purpose, not by value. A token called “color-text-secondary” survives a rebrand, while one called “gray-600” invites misuse. Many teams use two layers: base tokens that hold the raw values and semantic tokens that describe how those values are used. That structure lets you change the look of the product without touching individual components.

Core components. Next come the components that appear everywhere: buttons, inputs, selects, checkboxes, alerts, modals and tables. Build each one with its states, such as default, hover, focus, disabled and error, in both the design file and the code. A component that exists only in the design tool will be ignored by developers, and one that exists only in code will be ignored by designers.

Patterns. Once components are stable, document how they combine: forms, navigation, empty states, confirmation flows. Patterns are where consistency becomes visible to users, but they only work when the layers below are solid.

Take a form pattern as an illustration. It defines where labels sit, when validation runs, how errors read and where the primary action goes. Once that is settled, every new form starts at a high standard and designers can spend their time on the problem in front of them rather than on layout details.

How do you roll the system out without a big-bang redesign?

Roll the system out in stages, and let the old and the new interface coexist for a while. A big-bang switch carries the same risk as a full redesign, with less to show for it. A staged rollout looks like this:

1.      Pick a pilot area. Choose a part of the product that is visible, changes often and is owned by a team willing to try. A reporting section or a settings area often works well.

2.      Build the first components in design and code. Keep both in step from the start, so there is one version of each component, not two.

3.      Replace screen by screen. Swap old elements for system components as you touch each screen for other work. This avoids a dedicated migration project.

4.      Deprecate the old versions. Mark them as deprecated in the code and documentation, and remove them once nothing uses them.

5.      Document where people work. Put usage notes next to the components, in the design file and in the code docs, not only in a separate site nobody visits.

6.      Set a simple contribution path. Teams should know how to request a change or add a component, and how long it takes to get an answer.

7.      Measure adoption. Track how many screens and how much of the code use system components, and share the number.

Adoption is the part that decides success, and it is harder than building the system. zeroheight’s 2026 report found that only 38% of design systems achieve wide adoption. Its 2025 edition shows how thin the margin is: 40% of respondents said their system was widely adopted by most teams, and only 10% said it was fully adopted across all teams. These are survey results from design system practitioners, so they describe a trend rather than a universal rule. The lesson is practical: a system that is easier to use than building custom will be adopted, and one that is not will be bypassed.

How do you get buy-in without calling it a redesign?

The word “redesign” worries stakeholders because it suggests months of work with no new features. Frame the effort as maintenance that pays for itself. Show the audit results, point to the duplicate templates and estimate how many hours go into fixing the same issue in several places. Then offer a small first step with a clear result, such as unifying a single section of the product.

·        Tie it to the roadmap. Attach system work to features that are already planned, so it travels with delivery instead of competing with it.

·        Show quick wins. A consolidated set of components that makes the next feature faster is the strongest argument you will have.

·        Speak in outcomes. Fewer duplicate templates, faster onboarding for new developers and accessibility problems fixed once instead of many times.

·        Invite engineering early. Developers adopt systems they helped to shape.

What are the most common mistakes when consolidating an interface?

Most failed consolidation efforts share a few mistakes, and all of them can be avoided.

·        Trying to cover everything at once. A system that aims to fix the whole product in one release stalls. Start with the most repeated elements and grow from there.

·        Designing in isolation from the code. If designers finish a component library before developers see it, the two will differ from day one. Build both together.

·        Treating it as a project with an end date. Products keep changing, so the system needs an owner and a budget after launch.

·        Skipping deprecation. If old and new versions live side by side forever, you now maintain two systems. Retire the old ones on a schedule.

·        Chasing perfect consistency. Some areas of a product are legitimately different. Document the exceptions instead of forcing them into a pattern that does not fit.

How do you keep the system from drifting again?

A design system drifts when nobody owns it. Name an owner or a small core team from design and engineering, and give them time to do the work. Resources are the common weak point: 63% of respondents in zeroheight’s 2025 report named lack of resources or staffing as their biggest challenge.

Governance does not need to be heavy. Three habits are enough for most teams. Review new components before they ship, so near-duplicates are caught early. Keep a visible changelog, so teams know what changed and why. And revisit the audit every few months, so new variants are merged while they are still few.

Frequently asked questions

Do I need a full redesign to start a design system? No. Start from the interface you already ship: audit it, standardize the most repeated elements first and replace the rest gradually.

What should come first, tokens or components? Tokens (color, type, spacing), because every component depends on them. Then the few components used most often.

How long does it take? It depends on the size of the product and the team. Plan in small releases with a visible result each time instead of a single end date.

Who should own the design system? A named owner or small core team from design and engineering, with a clear way for other teams to request and contribute changes.

How do you get teams to actually use it? Make the system easier than building custom: ship components in code, document them where people work and retire the old versions.

Conclusion

An inconsistent interface does not need a fresh start. It needs an honest audit, a few clear decisions and a system built from what already works. Standardize tokens first, then the components people use most, replace the old pieces as you go and give the system an owner. The result is an interface that is easier to use, cheaper to maintain and far harder to let slide again.

Bogdan Sandu
Share
Written by Bogdan Sandu

Bogdan Sandu is a seasoned designer who has been designing websites since 2008. Renowned for his expertise in logo design and visual branding, Bogdan has developed a multitude of logos for various clients. His skills extend to creating posters, vector illustrations, business cards, and brochures. Additionally, Bogdan's UI kits were featured on marketplaces like Visual Hierarchy and UI8. He also wrote in the past years on sites like Design Your Way, WebDesignerDepot, WPDean, Designmodo, Speckyboy, Slider Revolution, and more.