Skip to main content

Goals of Particle

Promote consistency across dscout interfaces

Using Particle components, utility classes, and CSS variables ensures that interfaces follow the same design and interaction patterns. As our design patterns and brand evolve, this also enables us to make changes in one place and have those changes propagate to all of our interfaces.

Encapsulate UX and a11y best practices

Implementing usability and a11y best practices can be tricky and time consuming, and is easily overlooked by engineering teams that aren't using assistive technologies in their daily development and testing workflows. Encapsulating those within components ensures a baseline of best practices in the most commonly used elements in an application and reduces the amount of knowledge an engineer needs to build consistent and accessible interfaces.

Minimize the custom CSS being added to the applications

Maintaining CSS at scale is difficult, particularly when a large number of engineers are writing it independently, and we don't expect every engineer to be a CSS expert. For the sake of quality and maintainability, the less CSS being added to our apps, the better.

Save engineers and designers time

Building interfaces by composing existing building blocks allows engineers to focus less on markup, visual design, and usability patterns and focus more on functionality, business rules, performance, state management, and other front-end concerns.