Building a scalable UX foundation for a growing SaaS platform

Survicate® was growing across multiple products and teams, but the interface evolved inconsistently over time.
I worked on creating a scalable design foundation that unified workflows, interaction patterns, and UI behaviors across the platform.

Overview

Role: Product Designer

Scope: Design System · Survey Workflows · Mobile · Logic Builder · Dashboards

Duration: ~1 year

Collaboration: Product · Engineering · Frontend

The platform was scaling faster than the UX

As Survicate expanded, different teams started solving similar problems in different ways.
UI patterns became inconsistent, workflows fragmented, and onboarding complexity increased across the platform.

The product no longer behaved like one coherent system. Navigation, forms, logic configuration, and dashboard behaviors varied between modules, slowing down both users and internal teams.

Some of the recurring problems included:

— duplicated components across products
— inconsistent interaction behaviors
— disconnected survey creation flows
— different spacing and typography rules
— fragmented mobile experiences
— inconsistent logic configuration patterns
— accessibility gaps across modules
— growing design-to-engineering friction

Without a shared foundation, product complexity increased with every new feature.

Previous Survicate platform.

Constraints shaping the system

The challenge was not creating a visual refresh. It was introducing consistency without slowing product delivery.

The platform already relied heavily on an existing Bootstrap-based frontend architecture that continued to power active product development.

Rather than replacing the framework entirely, the goal was to evolve the system incrementally while improving scalability, consistency, and usability across modules.

The system needed to:

— work within existing Bootstrap foundations
— support ongoing product delivery without major disruption
— reduce inconsistencies across legacy modules
— align design decisions with frontend implementation realities
— scale across desktop and mobile experiences
— introduce reusable patterns without rebuilding the product from scratch
— remain maintainable for multiple teams over time

This constraint heavily influenced the design approach.
The work focused on system evolution rather than complete replacement.

The goal was structural clarity, not cosmetic redesign.

Auditing the product ecosystem

I started by mapping inconsistencies across the platform — navigation structures, form behaviors, logic flows, spacing systems, and component usage.

The audit revealed repeated UX problems:

— duplicated solutions for identical tasks
— inconsistent component states
— different interaction patterns between modules
— missing hierarchy and layout rules
— multiple versions of similar workflows
— inconsistent naming conventions
— accessibility inconsistencies

This process helped identify which parts of the product needed shared foundations instead of isolated redesigns.

Defining system principles

Instead of redesigning isolated screens, the focus shifted toward creating shared foundations and a scalable product language.

The system was guided by several core principles:

Consistency over novelty

Interactions should behave predictably across the platform.

Reusability over one-off solutions

Components needed to scale beyond individual features or teams.

Structure before visuals

The objective was reducing product complexity, not introducing unnecessary visual changes.

Design aligned with engineering

The system needed to reflect implementation realities and support scalable frontend architecture.

Accessibility by default

States, contrast, spacing, and interaction behaviors were standardized early in the process.

These principles helped create alignment between design, engineering, and product teams.

Building reusable foundations

The work centered around creating reusable UI foundations and applying them consistently across the platform.

The system included:

— shared form behaviors
— standardized input and validation states
— reusable navigation patterns
— modular dashboard structures
— unified survey creation flows
— scalable spacing and typography rules
— responsive mobile survey foundations
— shared interaction logic across modules

Instead of behaving like separate tools stitched together, the product started functioning as one cohesive system.

The work centered around creating reusable UI foundations and applying them consistently across the platform.

Selected UI components

Components were designed as configurable building blocks rather than static UI assets.

Variants, visibility rules, content structure, and interaction states could be adjusted directly through scalable component properties, allowing teams to adapt interfaces without recreating layouts from scratch.

This reduced duplication, improved consistency, and accelerated workflow creation across modules.

Component architecture

The design system introduced reusable components built using Atomic Design principles, ensuring consistency, scalability, and predictable behavior across workflows and environments.

Key areas included:

— inputs and form validation
— buttons and interaction states
— navigation systems
— process flows and logic configuration
— scalable component composition patterns
— dashboard modules
— avatars, badges, and status indicators
— responsive layouts
— mobile interaction patterns

Special attention was placed on defining consistent states, hierarchy rules, component relationships, and predictable interaction behaviors.

The architecture was designed to support long-term scalability within the existing Bootstrap-based framework already used across the product ecosystem.

The objective was not component quantity, but behavioral consistency at scale.

Designing scalable architecture

As the system matured, I introduced token-based foundations that allowed the interface to scale beyond a single visual theme.

Colors, spacing, typography, elevation, and interaction states were structured as reusable design tokens, improving consistency between design and implementation.

This foundation later enabled dark mode exploration without rebuilding components from scratch.

The theming architecture focused on:

— semantic color tokens
— reusable elevation and surface systems
— scalable spacing rules
— accessible contrast handling
— state consistency across themes
— maintainable token structures for engineering

Dark mode became a validation of the system’s scalability rather than a separate visual exercise.

Predefined spacing, radius and color tokens for light and dark mode.

Product impact

The design system improved more than visual consistency. It changed how teams built product experiences.

The outcomes included:

— reduced UI inconsistency across modules
— faster feature iteration
— more predictable onboarding experiences
— improved collaboration between design and engineering
— scalable foundations for future modules
— reduced duplication in design workflows
— more consistent product decisions across teams
— improved maintainability of product interfaces

The platform became easier to extend without multiplying complexity.

Long-term impact

The design system became a scalable foundation for future product growth.

New features could be built faster and with less ambiguity. The product felt more cohesive across dashboards, survey creation, logic configuration, and mobile experiences.

Consistency shifted from something manually enforced into a shared default across teams.

The project demonstrated how system thinking can improve not only interface quality, but also product scalability and collaboration across organizations.

Reflection

One of the biggest lessons from this project was understanding that scaling design is often less about creating new UI — and more about reducing entropy.

Strong systems are not built through visual polish alone. They emerge through consistency, shared rules, predictable behaviors, and alignment between teams.

The project reinforced the importance of thinking beyond individual screens and designing foundations that can evolve with the product over time.

Future opportunities

Future opportunities for the system included:

  • expanding accessibility standards

  • deeper token automation

  • stronger documentation workflows

  • improved component governance

  • scalable multi-theme support

  • tighter integration between design and frontend systems

  • more precise naming convention across Figma and Handoff files

The system created a foundation that could continue evolving alongside the platform.

Previous
Previous

Reducing uncertainty in smart home onboarding

Next
Next

Designing a scalable visual logic system for advanced surveys