Menu
Medium #system-design·September 27, 2026

Defining Frontend Architecture vs. System Design

This article clarifies the distinction between frontend architecture and frontend system design, arguing that while backend system design traditionally focuses on distributed systems and infrastructure, frontend system design is an emerging discipline dealing with complex user-facing systems. It emphasizes the need for a holistic view of frontend systems, considering scalability, performance, and maintainability across multiple applications and components.

Read original on Medium #system-design

The Evolving Landscape of Frontend Engineering

Traditionally, 'system design' has been synonymous with backend challenges: databases, distributed systems, APIs, and infrastructure. However, as frontend applications grow in complexity and scope, spanning multiple teams, micro-frontends, and diverse client experiences, the need for a distinct 'frontend system design' discipline becomes apparent. This distinction is crucial for understanding how to approach large-scale frontend challenges systematically.

Frontend Architecture: Within a Single Application

Frontend Architecture typically focuses on the internal structure and organization of a single frontend application. This includes decisions about state management, component hierarchies, module boundaries, folder structures, testing strategies, and build processes. The scope is confined to ensuring the robustness, maintainability, and extensibility of one specific user interface.

Frontend System Design: Across Multiple Applications and Teams

Frontend System Design, on the other hand, deals with the broader ecosystem of user-facing systems. It encompasses the design of shared component libraries, micro-frontend orchestration, consistent API consumption patterns, cross-application navigation, performance across a suite of products, and the tooling/infrastructure supporting multiple frontend teams. It's about designing solutions that scale not just code, but also organizations and user experiences across an entire product portfolio.

💡

Key System Design Considerations for Frontend

When approaching frontend system design, consider factors like: shared infrastructure (CDNs, build systems), cross-cutting concerns (authentication, internationalization), consistency across multiple products (design systems), performance optimization at a macro level, and strategies for managing complexity with many independent frontend teams.

Bridging the Backend-Frontend System Design Gap

Effective system design requires frontend and backend teams to collaborate closely. Frontend system designers need to understand backend API contracts, data models, and integration points, while backend designers should consider the frontend's consumption patterns and performance needs. This holistic view ensures that the entire system delivers a cohesive, performant, and scalable user experience.

frontend architecturefrontend system designmicro-frontendsdesign systemsscalabilityuser experiencesoftware architectureweb development

Comments

Loading comments...