Loading...
Loading...
By continuing to use the platform, you accept the terms of the Privacy Policy and the use of cookies.
👋 Hi! I'm Dastan, author of Hack Frontend. Always open to professional networking => connect with me on LinkedIn.
Feature-Sliced Design (FSD) is architectural methodology for frontend applications. Simply put, it's set of rules and conventions for code organization. Main goal of methodology is to make project understandable and structured, in conditions of regular business requirement changes.
Layer Separation (slices)
Code Grouping by Features
Instead of storing all components in one components/ folder, all styles in styles/, etc., FSD suggests storing all code related to functionality (UI components, logic, styles, tests) in one feature. This increases cohesion (integrity) and simplifies finding needed files.
Clear Responsibility Boundaries
Each layer is responsible for its set of tasks. For example, changes in feature usually don't affect other features, since common tools live in shared/, and global settings — in app/.
Scalability
When new features or business scenarios appear in application, they're added as separate directories and modules, without affecting structure of other parts.
Simplified Maintenance
If you need to understand specific feature or make edits, developer sees all feature logic — from components to styles — in one place.
Modularity
Easy to connect or disconnect specific features, move them to another project or make them separate package.
Minimized Team Conflicts
Developers can work in parallel on different features without interfering with each other.
In these examples:
Read more about Feature-Sliced Design here.