
Structuring frontend applications and defining boundaries between their parts.



Managing application state, stores, and reactive updates.



Loading remote data and handling requests, errors, and loading states.






Permissions, roles, and access control in frontend applications.


Arranging interface elements with grids, flexbox, and other layout techniques.

Creating fluid interfaces that respond to available screen space.

Tailoring interfaces to specific devices, contexts, and capabilities.

Fonts, text hierarchy, readability, and type rendering on the web.




Making interfaces usable with assistive technologies and diverse input methods.

Designing experiences for people with diverse needs and backgrounds.





Storing and reusing data and resources with appropriate invalidation.

Building applications that work with limited or unavailable connectivity.


Readability, maintainability, standards, and static analysis.

Investigating bugs with developer tools and diagnostic techniques.