View source: R/bid_structure.R
| bid_structure | R Documentation | 
This function documents the structure of the dashboard with automatic layout selection and generates ranked, concept-grouped actionable UI/UX suggestions. Layout is intelligently chosen based on content analysis of previous stages using deterministic heuristics. Returns structured recommendations with specific component pointers and implementation rationales.
bid_structure(previous_stage, concepts = NULL, ...)
| previous_stage | A tibble or list output from an earlier BID stage function. | 
| concepts | A character vector of additional BID concepts to include. Concepts can be provided in natural language (e.g., "Principle of Proximity") or with underscores (e.g., "principle_of_proximity"). The function uses fuzzy matching to identify the concepts. If NULL, will detect relevant concepts from previous stages automatically. | 
| ... | Additional parameters. If  | 
Layout Auto-Selection: Uses deterministic heuristics to analyze content from previous stages and select the most appropriate layout:
breathable: For information overload/confusion patterns
dual_process: For overview vs detail needs
grid: For grouping/comparison requirements
card: For modular/chunked content
tabs: For categorical organization (unless telemetry shows issues)
Suggestion Engine: Generates ranked, actionable recommendations grouped by UX concepts. Each suggestion includes specific Shiny/bslib components, implementation details, and rationale. Suggestions are scored based on relevance, layout appropriateness, and contextual factors.
A bid_stage object containing:
| stage | "Structure" | 
| layout | Auto-selected layout type | 
| suggestions | List of concept groups with ranked suggestions | 
| concepts | Comma-separated string of all concepts used | 
interpret <- bid_notice(
  problem = "Users struggle with information overload",
  evidence = "Survey results indicate delays"
) |>
  bid_interpret(
    central_question = "How can we simplify data presentation?",
    data_story = list(
      hook = "Data is too complex",
      context = "Overloaded with charts",
      tension = "Confusing layout",
      resolution = "Introduce clear grouping"
    )
  )
# Auto-selected layout with concept-grouped suggestions
structure_result <- bid_structure(previous_stage = interpret)
print(structure_result$layout)  # Auto-selected layout
print(structure_result$suggestions)  # Ranked suggestions by concept
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.