How important is the 'atomic design' concept in reality--especially in the context of AI?
As a designer that has spent their fair share of time as a front end developer, I tend to want to over-optimize by thinking earlier than I should. And at the moment, I'm hung up on whether or not to stick with atomic design separate of elements vs. just not worrying about it.
I will be using tokens for all the foundational styles (text, icons, colors, etc).
But for components, I'm trying to decide how important it is to segregate these by complexity. I like the segregation, it seems useful but I fear I'm just over-engineering things.
Here's the breakdown in my head:
- Foundational components: The smallest standalone element (that may be used on its own or part of a bigger component). Examples:
- button
- text field
- label
- validation message
- card
- etc.
- Compound components: A collection of the foundational components that will be used in tandem. Examples:
- text input = text field + label + validation message
- Widgets: A collection of foundational and compound components in a reusable pattern. Example:
- Login = text input (user) + text input (password) + button + card
- Patterns: any combination of the above to dictate standard layouts for standard usage-- likely pegged to particular types of 'objects' (login pattern, data table pattern, card layout pattern, etc.)
The reason I cling to this is probably due to my code background. If someone comes to me and says "we need to change our error validation message from deep red, to fuscia, and adjust the spacing" I know I can go to our design tokens to swap out the color, then go to the foundational validation component to adjust the spacing, and everything will percolate up through the higher level components.
My questions:
Is breaking these down into tiers ala atomic design thinking actually useful for anyone outside of the UX team or is this just over-thinking for the sake of overthinking? Is there any pros/cons in regards to this in terms of how AI would ingest this information to create UIs?