Designing a Lovable System for a High-Growth Startup

Lovable

Design System

DesignOps

Overview

Kärlek: A System That Helps Lovable Build with Love

Lovable is one of the fastest-growing startups, founded in 2024. It is an AI prompt-to-software generative tool that has quickly gained popularity among designers, developers, and builders. Kärlek (Swedish word for love) is a design system created for Lovable to make product design more efficient while ensuring consistency and inclusivity across experiences. Ultimately, Kärlek helps designers and developers build products with more love.
Lovable is one of the fastest-growing startups, founded in 2024. It is an AI prompt-to-software generative tool that has quickly gained popularity among designers, developers, and builders. Kärlek (Swedish word for love) is a design system created for Lovable to make product design more efficient while ensuring consistency and inclusivity across experiences. Ultimately, Kärlek helps designers and developers build products with more love.
Lovable is one of the fastest-growing startups, founded in 2024. It is an AI prompt-to-software generative tool that has quickly gained popularity among designers, developers, and builders. Kärlek (Swedish word for love) is a design system created for Lovable to make product design more efficient while ensuring consistency and inclusivity across experiences. Ultimately, Kärlek helps designers and developers build products with more love.

Contributions

Visual Design

Visual Design

Visual Design

Documentation

Documentation

Documentation

Figma Support

Figma Support

Figma Support

Motion Design

Motion Design

Motion Design

Time Line

1 Sep, 2025

to

12 Dec, 2025

Problem

Lovable Needs Structure to Grow Further

As Lovable rapidly adds new features, its visual design has become increasingly fragmented. New additions feel disconnected from the brand, which can reduce user trust and make it harder for designers and developers to manage and scale the product. Additionally, limited focus on accessibility has led to gaps that do not align with industry standards. These challenges can be grouped into three core issues: slower workflows, inconsistent design, and accessibility gaps.

Slower Workflows

Inconsistent Design

Accessibility Gaps

Slower Workflows

Inconsistent Design

Accessibility Gaps

Slower Workflows

Inconsistent Design

Accessibility Gaps

As is common with startups, strong internal culture often prioritizes speed and experimentation. Design systems, however, represent a cultural shift and require time and effort to adopt across teams. Staying true to its roots, Lovable is unlikely to prioritize strict consistency over the ability to ship new features quickly. This creates a common startup challenge: design systems can become a constraint when new components are needed but not yet available, making flexibility and speed a critical requirement in this context.
As is common with startups, strong internal culture often prioritizes speed and experimentation. Design systems, however, represent a cultural shift and require time and effort to adopt across teams. Staying true to its roots, Lovable is unlikely to prioritize strict consistency over the ability to ship new features quickly. This creates a common startup challenge: design systems can become a constraint when new components are needed but not yet available, making flexibility and speed a critical requirement in this context.
As is common with startups, strong internal culture often prioritizes speed and experimentation. Design systems, however, represent a cultural shift and require time and effort to adopt across teams. Staying true to its roots, Lovable is unlikely to prioritize strict consistency over the ability to ship new features quickly. This creates a common startup challenge: design systems can become a constraint when new components are needed but not yet available, making flexibility and speed a critical requirement in this context.

"

"

"

How might we design a flexible design system that adapts to a fast-growing startup’s evolving needs, while establishing a strong, consistent visual language, enforcing accessibility standards, and enabling an efficient product development process?

Process

Designing an Adaptive System for Lovable's Unique Requirements

We tackled this in three steps. First, we identified what was actually causing the issues. Next, we cleaned things up by removing unnecessary elements and creating standards. Finally, we built a UI system based on this new foundation and documented how to use it properly.

  1. Creating an Orderly Record of Ambiguities

We began by breaking down Lovable's UI, collecting all the different styles, components, and colors we could find. We analyzed what constituted key design decisions versus what would have been mistakes. After summarizing insights from this analysis, we documented and organized an inventory that served as the foundation of our design system. By discarding ambiguities—such as similar colors or redundant button styles the remaining elements became our core design requirements.

Lovable's UI Invetory

Insights

  1. 33 button styles: It should be reduced for consistency, as many elements were highly similar and resulted from oversights or repetitive work, with style variations offering no real UX benefit.

  2. Inconsistent color application: Some colors appear only once (e.g., yellow partner cards), suggesting potential oversights rather than intentional choices.

  3. Light/dark mode inconsistencies: Button colors vary significantly between modes, and multiple primary/secondary colors make it difficult to establish unified CTA principles. Dark mode text and tabs (especially outlined tabs) have poor readability and need accessibility improvements.

  4. Unstandardized hover states: Text and button color changes on hover are inconsistent. While minor, these accumulate and weaken overall design consistency.

  5. Accessibility concerns: Many interactive elements were not fully keyboard-navigable, and the tab order was inconsistent and confusing across screens. Additionally, image alt text was unclear, vague, or non-descriptive.

  1. Creating a Flexible Token Strategy

Keeping the insights in mind, we mapped every core design element to a primitive token. For example, the base background color was defined as beige.100, with a dark alternative called gray.800. We used this approach to build a consistent color palette and extended it to spacing, typography, border radius, and more. These primitives represent raw values with a simple naming convention, and we defined a broad set to keep the system flexible for future needs.
Keeping the insights in mind, we mapped every core design element to a primitive token. For example, the base background color was defined as beige.100, with a dark alternative called gray.800. We used this approach to build a consistent color palette and extended it to spacing, typography, border radius, and more. These primitives represent raw values with a simple naming convention, and we defined a broad set to keep the system flexible for future needs.
Keeping the insights in mind, we mapped every core design element to a primitive token. For example, the base background color was defined as beige.100, with a dark alternative called gray.800. We used this approach to build a consistent color palette and extended it to spacing, typography, border radius, and more. These primitives represent raw values with a simple naming convention, and we defined a broad set to keep the system flexible for future needs.

In the next stage, where we defined semantic tokens, I played a key role in mapping colors, spacing, and typography to meaningful values. For example, beige.100 was assigned as the secondary button background, and a spacing value of 10 was mapped to a medium gap. These mappings laid the foundation for component design, and I also helped define semantic colors that adapted to both light and dark themes.

The team working on tokenization on a white board
The team working on tokenization on a white board
The team working on tokenization on a white board
Two level flexible token structure
Two level flexible token structure
Two level flexible token structure

At this stage, we removed color ambiguities by grouping highly similar colors into a single semantic color. For example, secondary buttons had three different hover colors across the website; we unified them into one, which reduced unnecessary button style variations.

  1. Designing adaptable components that scale across layouts, modes, and varying requirements, with clear guidelines for how and when to use them.

After building a solid token foundation, we created the UI Kit using Auto Layout 5.0, where I ensured each component followed the correct layout, grid, and spacing configurations for responsiveness. We also refined the visual language by resolving inconsistencies for example, standardizing buttons to squircle corners for seamless nesting with parent components resulting in a more cohesive system.

For every component, we documented its usage to make it easy to understand and apply. The documentation was structured into three clear sections: the component anatomy, examples of where it should be used, and best practices. This was supported by global accessibility guidelines as well as component-specific accessibility notes, ensuring both design and implementation followed standards.

Illustration representing component anatomy definition
Illustration representing component anatomy definition
Illustration representing component anatomy definition

Component Anatomy

illustration representing component usage
illustration representing component usage
illustration representing component usage

Component Usage Examples

Illustration representing component best practices
Illustration representing component best practices
Illustration representing component best practices

Component Best Practices

Solution

Kärlek: Fast, Consistent & Inclusive

Fast.

Clear documentation with usage examples makes it easy for designers to know where and how to use each component, reducing decision-making time. This is a key feature of Kärlek that directly addresses slow workflow issues.
Clear documentation with usage examples makes it easy for designers to know where and how to use each component, reducing decision-making time. This is a key feature of Kärlek that directly addresses slow workflow issues.
Clear documentation with usage examples makes it easy for designers to know where and how to use each component, reducing decision-making time. This is a key feature of Kärlek that directly addresses slow workflow issues.

Kärlek automatically supports Lovable’s light and dark themes using Figma’s appearance modes. Designing in one mode is enough, as components are consistently translated across both, saving time and ensuring visual consistency.

Consistent.

With a strong token system and Figma’s Auto Layout 5.0, every component shares one visual language, building user trust and creating an instantly recognizable brand for Lovable.
With a strong token system and Figma’s Auto Layout 5.0, every component shares one visual language, building user trust and creating an instantly recognizable brand for Lovable.
With a strong token system and Figma’s Auto Layout 5.0, every component shares one visual language, building user trust and creating an instantly recognizable brand for Lovable.

Inclusive.

The system builds accessibility into its foundation, with clear guidelines for screen readers and keyboard navigation for every component. An AA-compliant color system ensures accessibility is consistent and leaves no room for mistakes.
The system builds accessibility into its foundation, with clear guidelines for screen readers and keyboard navigation for every component. An AA-compliant color system ensures accessibility is consistent and leaves no room for mistakes.
The system builds accessibility into its foundation, with clear guidelines for screen readers and keyboard navigation for every component. An AA-compliant color system ensures accessibility is consistent and leaves no room for mistakes.

And More Importantly Kärlek is Easy to Adopt

As a rapidly growing startup, Lovable has specific needs for adopting a design system particularly one that supports innovation, evolves alongside its products, and is easy for new users to grasp. Kärlek addresses these needs by emphasizing design values that foster flexibility, alongside clear policies and guidelines that make the system intuitive, scalable, and easy to adopt.

Flexible Structure

Our token system has a simple two-level hierarchy: raw values mapped to semantic context. Adding a new component is quick—just assign its semantic role and link to existing primitives. This makes the system scalable and fast to extend.

Always Evolving

The system is built on values of transparency, leveraging community contributions to maintain and evolve over time. This approach allows Lovable to develop Karlek as an open-source product.

Easy-to-Use

Clear documentation, usage guidelines, and practical examples make decisions easy and promote best practices, allowing even a first-day employee at Lovable to adopt the system correctly with ease.

Karlek provides designers and developers with a solution that lets them focus on what truly matters by handling repetitive tasks and offering a comprehensive, ready-to-use UI Kit. With its qualities of speed, consistency, inclusivity, and ease of adoption, Karlek enables the Lovable team to build products with more love.

Retrospective

Design System is a Product: You have to Sell it to Your Own Company.

pitch deck presentation
pitch deck presentation
pitch deck presentation
team photo
team photo
team photo

Given the high cost of implementation and management, companies are often reluctant to adopt a design system. It’s our responsibility as creators to demonstrate that its benefits outweigh the costs. This pitch deck was our attempt to convince Lovable to adopt Kärlek, presented to peers acting as designers and developers from the company.

Show & tell your's product's story

When we presented Karlek to our peers, we received excellent feedback on the system’s comprehensiveness. The comprehensiveness wasn’t fully conveyed when we initially described it. As designers, it’s important that we effectively tell the story of the products we create.

Design values are key deciders

During the project, we struggled with standardisation—deciding whether to standardize components, colors, and styles or maintain flexibility was challenging. Ultimately, we revisited our design values and chose to prioritize user experience over strict standardization, keeping the system adaptable.

It is by logic that we prove, but by intuition that we create.