The Mockup Tool: Turning a Requirements Meeting into a Machine-Readable Blueprint

8 min readPower BI

Screenshots and PowerPoint boxes? That's how you get reports nobody asked for. The Mockup Tool changes that: it turns the requirements meeting into a machine-readable blueprint — structured Markdown an AI agent builds pixel by pixel. The business owns the content, the tool owns the layout. How the 12×7 grid, report semantics, and the editor–renderer–agent round-trip fit together — and why it's not just a screenshot machine: read on.

The Mockup Tool: Turning a Requirements Meeting into a Machine-Readable Blueprint

The problem it solves

Between "the business knows what it wants to see" and "a finished report exists" there traditionally sits a lossy translation process: notes, screenshots, hallway conversations, emails, a few PowerPoint boxes. Every step loses information, and in the end someone builds something that then gets nudged into shape over several rounds.

The Mockup Tool wedges a formal, versionable contract into exactly that gap. It does not produce pretty pictures for show — it produces a single source of truth that is at once readable by humans and precisely executable by an AI agent. The core trick: the binding artifact is structured Markdown, not an image.

The three building blocks

The tool is deliberately built as a small, dependency-light system — no backend, no build step, no installation.

Building blockRole
TemplateThe schema. Defines the sections that describe a report completely from a business perspective.
EditorInteractive drag-and-drop editor in the browser. Assembles the mockup and exports/imports the Markdown.
RendererRenders the Markdown into a true-to-scale 1280×720 preview. Runs without additional dependencies.

All three speak the same Markdown format — round-trip tested. You can build in the editor, export, sharpen the Markdown by hand, import it again, or render it directly. The common denominator is always the Markdown file.

The heart of it: Markdown as a contract

A mockup is a Markdown file with header metadata and several numbered sections that describe the report completely from a business perspective. A typical excerpt from the "Pages & Visuals" section:

### Page 1: Overview
| ID | Visual type (intent) | Position (zone / columns / row) | Dimension(s) | Measure(s)   | Filter/Sort       | Interactions |
|----|----------------------|----------------------------------|--------------|--------------|-------------------|--------------|
| V1 | KPI card             | Content / 1–3 / R1               | –            | Total costs  | –                 | Default      |
| V5 | Bar chart            | Content / 1–6 / R2               | Axis: Region | Total costs  | Sort: descending  | Default      |

The decisive move is separating two levels of bindingness:

  • Binding are the business statements — which visuals, which dimensions, which measures, which filters.
  • Approximate is the position. It is given as a coarse grid, not in pixels. The agent optimizes the fine placement itself.

That is the central design decision: the business should decide on content, not on pixel coordinates. The layout craft stays with the tool.

The 12×7 grid: the translation layer

Positions are noted in the mockup as a grid reference — e.g. Content / 1–6 / R2 means "columns 1 through 6, row 2". Behind it stands a binding 12×7 grid with an exact, deterministic pixel translation. Both the preview and the agent use the same conversion:

x      = 24  + (column - 1) * 104
width  = 104 * column_span - 16
y      = 204 + (row    - 1) * 72
height = 72  * row_span   - 16

Here 104 = 88 px cell width + 16 px gutter; 72 = 56 px cell height + 16 px gutter. The parser is deliberately tolerant: it normalizes the various dash characters (, , ), strips prefixes like R or zone names, and clamps values into the valid range instead of failing hard on typos. Positions that cannot be interpreted do not produce a silent error but a red-flagged error box in the preview — which makes gaps visible during the meeting immediately.

Important is the zone separation: the grid sits entirely within the content zone. The header (logo, report title, page navigation), the filter/selection zone, and the footer are fixed frame elements of the corporate template and are not positioned by the business.

What the tool captures in report semantics

This is where it gets technically interesting, because the mockup is much more than a box sketch. It models real report concepts so the agent does not have to guess:

Visual types as intent. The editor knows a fixed type list (KPI card, card, bar, column, line, area, pie/donut chart, table, matrix, map, scatter plot, slicer, text box). These are internally clustered into five categories (KPI, chart, table/matrix, slicer, text), each getting its own sample graphic and accent color. "Intent" means: the business says "bar", the agent picks the concrete visual type.

Measures described in business terms, not technical ones. New measures are described in prose ("share of corrective measures in total costs") with an optional format and formula idea. The formula is explicitly optional — the agent derives it. The business does not need to know a formula language.

Page types. Each page can be marked as Normal, Drill Through, or Tooltip, plus a Hidden flag — exactly the common reporting model. Drill-through pages carry their drilldown fields; hidden pages disappear from navigation, just as in the real report.

Visual interactions as a matrix. Pairwise interactions (source → target) are encoded with the modes Filter / Highlight / None. This lets you specify in advance that a particular visual does not cross-filter others — a detail that is otherwise regularly requested only after delivery.

Slicer scope. Every global filter carries whether it acts on all pages or only a specific page.

Tooltip links. Tooltip pages are assigned to the visuals that should show them on hover.

These concepts are maintained in the editor via an inspector and, on export, serialized cleanly into the corresponding Markdown sections so that the preview and the agent find them again.

The preview is not a screenshot — it is a renderer

This is the point that is often misunderstood. The renderer parses the Markdown into an object model (pages, visuals, geometries, tooltip links) and renders from it, deterministically, the 1280×720 preview: header chrome, the drawn-in grid, each visual as a labeled box with ID, type, dimensions, and measures, plus a non-interactive sample graphic per type in the corporate theme colors.

The benefit: text and image stay always in sync, because the image is derived freshly from the text on every run. There is no "stale sketch" class of errors. After every change to the Markdown, render once — done. And because no external dependencies are needed, it runs on any machine without prior installation.

The round-trip and the handover to the agent

The end-to-end flow:

Editor (build visually)
   └─ Export ──────────────► Mockup Markdown   ◄── single source of truth
                                   │
                    Renderer ──────┤ (visual check during the meeting)
                                   │
                    Import ◄───────┘ (continue editing)
                                   │
                                   ▼
                          AI agent (intake / specification)

On handover, the orchestrator reads the mockup during the intake/specification step and derives three things from it:

  • Clarifying questions from the "Open points / assumptions" section,
  • a plan — one task per page or visual,
  • acceptance criteria from the corresponding section.

The actual implementation then goes to the executing report agent, which translates the grid references into pixel coordinates using exactly the same conversion the preview uses. The mockup is therefore not a non-binding wish list but feeds the build pipeline's acceptance criteria directly — requirement and verification stem from the same source.

A pleasant side effect of the Markdown basis: version diffs make requirement changes visible. When something changes between two meetings, you see exactly what — one measure more, a filter different, an extra page.


Two common questions

"Does the Mockup Tool only return screenshots?"

No — and that is conceptually the most important point. The binding result is a structured Markdown file, i.e. a machine-readable, versionable blueprint. This file contains everything on the business side: pages, visual types, dimensions, measures (including business definitions), filters, slicer scopes, page types like drill-through and tooltip, visual interactions, and acceptance criteria.

The preview is not a screenshot but a view rendered live from the Markdown — it serves only as a visual check during the meeting and is reproducible at any time. An optional sketch image from the meeting can be attached as a supplement, but it is decorative only, never the basis. The AI agent consumes the Markdown, not an image. An image alone would be worthless for automated processing; the tool's strength lies precisely in capturing the requirement structured rather than pixel-based.

"Should the business fill in the tool itself?"

No. The tool is intended as a facilitated instrument, not as self-service for the business. A specialist — a data analyst or business analyst — fills it in together with the business during the requirements meeting and builds the wireframes, typically via screen share.

This is also legible in the design and deliberately built that way:

  • The editor is a collaborative meeting kit ("build together during the meeting"), not a form to fill in alone. The business assembles the page visually and sees a realistic preview immediately — it does not have to type Markdown or understand the grid.
  • The division of labor matches the two levels of bindingness exactly: the business supplies the what (key questions, measures, visuals, interactions) — that is binding. The analyst translates it cleanly into the schema, watches for consistency, maintains the technical fields (column/ measure names, formula ideas, grid positions), and captures the open points.
  • Concepts like the 12×7 grid, drill-through fields, the interaction matrix, or formula ideas are professional tooling that an analyst commands — leaving it to the business alone would bring back exactly the translation losses the tool is meant to eliminate.

In short: the business brings the domain knowledge, the analyst facilitates and formalizes, and together they produce an agreed mockup during the meeting that then goes to the AI agent as a clean contract.

Share:

Related Articles