January 9, 2026
5 min read
By Cruz Morales

Refactoring a React App for Consistency and Clarity

ReactRefactoringTypeScriptComponent DesignUX Design

The Problem: A Fragmented User Experience

As our 11-11 platform grew, we added new features and pages. But this rapid growth led to a fragmented user experience. We had three different types of "cards" for displaying knowledge artifacts, three different view components, and a cluttered navigation sidebar. It was time to take a step back and refactor for consistency and clarity.

The Build: A Unified Component Architecture

We decided to consolidate our UI around a single, unified component architecture:

  • ArtifactCard: A single, versatile card component that can display any type of knowledge artifact (Seeds, Prompts, Sessions, etc.).
  • ArtifactGridView: A single, reusable view component that can display a grid of ArtifactCard components with filtering and pagination.

We then refactored our Seeds, Greenhouse, and Commons pages to use these new unified components. We also simplified our navigation sidebar, focusing on the two core pillars of our platform: the Chat Experience and the Knowledge Hub.

Key Insights

  • Consolidate, Don't Proliferate: When you find yourself building similar components over and over again, it's a sign that you need to consolidate. A single, versatile component is almost always better than a dozen specialized ones.
  • Clarity Through Subtraction: The best way to improve a design is often to remove things. By simplifying our navigation and consolidating our pages, we created a more focused and intuitive user experience.
  • Refactoring is an Investment, Not a Cost: It can be tempting to just keep adding new features, but taking the time to refactor and pay down technical debt is a crucial investment in the long-term health of your codebase.

The Result: A More Cohesive Platform

The refactoring resulted in a 67% reduction in card and view components, a 40% reduction in top-level navigation items, and a significantly more cohesive and intuitive user experience. The platform is now easier to use, easier to maintain, and better positioned for future growth.

The Takeaway: The Power of a Design System

A strong design system is more than just a collection of reusable components. It's a shared language and a set of principles that guide your development process. By investing in a unified component architecture, we were able to create a more consistent, scalable, and maintainable application.

Cruz Morales

Cruz Morales

Freelance developer specializing in AI integration and multi-stack development. Based in Madison, WI.

More Insights