anfra interaction patterns

Let agents build the interface.
Let anfra own semantic layer and analytical interaction state.

Analytical interaction is what a reader does to change the question a chart answers. For example:

  • Focus on one market: pick Germany, and every chart shows only German orders. Filter
  • Find what drives a number: click the Software bar, and the trend beside it shows Software alone. Select
  • Compare with an earlier period: switch Month to Quarter, or put September next to last September. Change time
  • Explain a spike: click Q2 2026 to see which of April, May and June made it. Drill
  • Test a decision before making it: move a discount slider and see what revenue would be. What if
  • Share what you found: send a link that opens with the same filters and selections. Save and share
With anfraWithout anfra
InterfaceBuilt by any agent; it draws the charts and turns each gesture into one SDK call, never SQLInterfaceDoes everything itself
anfra SDKHolds the reader's filters, selections, time, drill and parameters; decides which charts each choice reaches; saves, restores and exports itSQL and state written into the app
  • No shared layer: each app writes its own filter, drill, compare and save logic
  • One SQL string per chart: the revenue formula is copied into each, and if one copy differs, two charts disagree
  • Each chart sends its own query to the warehouse
anfra serverCompiles AQL through the semantic model, so revenue is defined once for every chart and agent
One clickStructured input goes in; the same AQL comes back with new rows
WarehouseOnly receives SQL compiled from the shared definitionsWarehouseReceives whatever SQL each app wrote

Why it matters: Claude Dashboards and ChatGPT's Data plugin already build attractive dashboards, but they write SQL per chart. With anfra, every query runs through the metric definitions, and every interaction is reusable state, whichever agent built the page.

← → to browse · Esc to close