
Welcome new users to the community
Create and manage event-based content


Process content on creation
Design rationale.
Guiding principles
Approachable
- Direct manipulation
- Clear mental models
- Linear execution
- No branching
Powerful
- Low barrier, high ceiling
- Context agnostic
- Composable
Responsive
- Desktop and Mobile
- Lightweight
- Fast
The core model
Automations are constructed along a timeline, a metaphor that readily resonates and facilitates comprehension. Once the triggering event takes place, the steps are performed sequentially, without branching. Add as many steps as needed.

Steps are extensible
Steps possess the capability to invoke actions as well as halt the progression of the automation. These steps can be arranged in a flexible manner, allowing for uninhibited composition. The inherent potency of Automations lies in their elemental simplicity and the versatile manner in which they can be combined.

Steps may be configured
Some steps might necessitate configuration. Hence a UI accommodating both instances where no configuration is needed, as well as scenarios involving configurations with unspecified data structures. This wrapper must possess remarkable versatility, while minimizing the effort involved in constructing and maintaining an expanding collection of steps.
Designed to enable future expansions such as enabling others to build custom steps later.

Flexible configuration for unknown data structures
Build configuration interfaces as a list of pre-canned controls. Developers pick the type and order of controls. Avoids absolute positioning to reduce complexity associated with supporting different viewport sizes. The controls are full width and spaced evenly apart. Minimizes work for developers while ensuring consistency from step to step.

Progressive control reveal
The number of controls can be dynamic based on user inputs. The controls are revealed progressively as the user makes selections. This allows for a more focused experience and reduces the cognitive load associated with a large number of controls.

Property controls
A growing list of affordances to solicit user input. Supports a variety of data types and use cases. Rooted in Reddit's design system, Reddit Product Language, to ensure consistency, accessibility, and reduce development time.
