Design a Reactive State System for an App Builder

Problem

Design the reactive state engine behind Retool: components with values that depend on each other via expressions, recomputing automatically.

Requirements

  • Components expose state (table.selectedRow, input.value)
  • Bindings reference other components
  • Change propagates to dependents in order
  • Detect and surface cycles

What evaluators look for

  • Dependency graph + topological recompute
  • Memoization and minimal recompute
  • Safe expression evaluation/sandboxing

Extension

Add async data sources (queries) into the dependency graph.

added …
LeaderboardSalaryAccount