mAindmAind
הועתק ✓Copied ✓
Hands-on AI workshop · 60 minutes

Speed Date(a) — When AI Meets Your Data

From messy data into an executive dashboard you can trust
Omer Mayost
Omer Mayost · mAind C.E.O
The problem

Same task. With and without validation.

Without validation — broken process, broken numbers
Broken dashboard
With validation — every number proven in code
Validated dashboard
What we do differently today A staged workflow where each step must prove its numbers in code before the next step starts. Stops are features, not failures.
The method

A chain of contracts

Every stage issues certified control totals. The next stage opens by verifying them. If a link breaks — we stop. We never decorate bad numbers.

01
Clean
_CLEAN files
02
Merge & enrich
_MERGED file
03
Audit
PASS + certified totals
04
Excel dashboard
.xlsx
05
HTML dashboard
.html
06
Executive deck
the story for management
Stage 0 · Setup · 5 min

Get ready in three steps

Download your domain files from the table — every domain has the same planted real-world data bugs.
Open Copilot and upload both files to a new chat.
Switch to Think Deeper mode. This workflow runs real code. Without it, the AI guesses instead of computing.
DomainFile AFile BBackup
FinanceBudget_FY26Actuals_FY26Merged (backup)
BizDevAccount_MasterPipeline_FY26Merged (backup)
BizOpsSLA_TargetsProcess_RunsMerged (backup)
ITAsset_RegistryService_TicketsMerged (backup)
R&DComponent_RegistrySprint_ItemsMerged (backup)
Do not skip step 3. Standard mode produces estimates — the exact failure we are here to eliminate. The backup merged file is a safety net: if your run gets stuck in Stages 1–2, download it and continue with the group from Stage 3.
Clean
Stage 1 · Clean · 12 min

What to expect

One paste. Copilot runs a six-station protocol on your two files — proving every number in code before anything moves forward.

01
Profile
Scans both files in code — every issue mapped with its monetary impact
02
Join keys
Declares how the files will connect; flags orphans and near-matches
03
Clean + log
Trims, normalizes, converts — every change logged with its dollar effect
04
Hard gates
Control totals before vs after must reconcile to the cent, or it stops
05
Decision stop
If money is at stake, Copilot pauses and asks you — options + cost of each
06
_CLEAN files
Certified files with a Cleaning Log. Only these continue to the merge
Where do you come in? Station 05. When money is at stake, Copilot stops and asks — you rule, it applies. A stop is a feature that protects your numbers, not a jam in the process.
Stage 1 · The prompt

Paste with both raw files attached

#1
01 · data-cleaning
This prompt operates on the two raw files: [FILE_A] and [FILE_B].

You are a deterministic data-preparation engine. Before ANY merge, aggregation, or analysis, run the full cleaning protocol below on every input file. Use code (Python/pandas) for every check — never estimate or eyeball. Do not skip a step even if the data "looks clean".

STEP 1 — PROFILE (read-only): For each file: row count, columns, types; nulls/blanks/whitespace-only per column; for text columns list distinct values and flag variants differing only by case, leading/trailing spaces, double spaces, or invisible characters; for numeric-looking columns count values stored as text (thousands separators, currency symbols, parentheses); duplicates — (a) fully duplicated rows, (b) duplicated IDs with DIFFERENT data (list separately, needs a human decision); dates stored as text or outside the expected period. Output a Data Quality Report: issue, column, row count, affected sum, examples.

STEP 2 — JOIN KEYS: Declare which columns will join the files. Per key column, compare distinct values across files: only-in-A, only-in-B, and near-matches (equal after trim/case-fold = formatting bugs). Flag orphan keys; do NOT silently drop or keep — list with the financial impact of each option.

STEP 3 — CLEAN (log every change): (1) trim/collapse whitespace in all text columns; (2) normalize case on categorical/key columns to the most frequent variant; (3) convert numeric-text to numbers (strip separators/symbols, parentheses=negative); unconvertible = NULL and listed, never zero silently; (4) remove fully duplicated rows (report count and sum); (5) duplicated keys with different values: STOP and ask which to keep or whether to sum; (6) orphan keys: STOP and ask — exclude, keep flagged, or map; (7) NULL amounts: STOP and ask — exclude or keep as NULL (never auto-zero); (8) parse dates to date type.

STEP 4 — VALIDATE (hard gates): control totals before vs after cleaning reconciled line-by-line to the log — every unit of value accounted for; row counts reconciled; key integrity across files; no amount column contains text, no key column contains whitespace/case variants. Any gate fails = stop and report.

STEP 5 — OUTPUT: If you stopped at unresolved decisions: save "_ALMOST_CLEAN" files (automatic rules applied, pending decisions untouched) + an Open Decisions list (item, options, monetary impact each). _ALMOST_CLEAN is NOT certified and must never be merged. After the user rules: save final "_CLEAN" files, each with a Cleaning Log sheet (every change, rule, rows, monetary impact) and a Data Quality Summary (issues, decisions, final control totals). Only _CLEAN files proceed to the merge stage.

HARD RULES: never fill, guess, or interpolate; never drop rows without listing them; every decision point stops and asks with options + monetary impact; all sums verified in code.
Stage 1 · Clean · 12 min

This is how it looks in Copilot

1Data problem + human decision
Copilot maps the open decisions with the cost of each option — and waits for you.
2Copilot executes
Your ruling is applied in code — deterministic, logged, reproducible.
3A deliverable you can trust
Certified _CLEAN files with a Cleaning Log — the contract for the next stage.
Merge & enrich
Stage 2 · Merge & enrich · 10 min

What to expect

One paste with the _CLEAN files. Copilot designs the join before running it — and proves the result matches the prediction.

01
Verify inputs
Re-verifies the _CLEAN control totals — the anchors every number must match
02
Join design
Declares keys, grain and join type; predicts the row count BEFORE joining
03
Execute join
Full outer join — nothing dropped; every row gets a Match_Status flag
04
Enrich
Adds variance, time fields and classifications — documented in a Data Dictionary
05
Granularity
Stays maximally granular; every roll-up must reproduce the anchors
06
_MERGED file
One source of truth: Data + Data_Dictionary + Reconciliation sheets
Where do you come in? Station 02. If the files live at different levels of detail (grain mismatch), Copilot stops and proposes the allocation rule — you approve before any number is doubled.
Stage 2 · The prompt

Paste with the _CLEAN files from Stage 1

#2
02 · data-merge
This prompt operates on the cleaned files from the previous stage: [FILE_A]_CLEAN and [FILE_B]_CLEAN. Refuse any input without the _CLEAN suffix.

You are a deterministic data-integration engine producing ONE merged, enriched, analysis-ready file — the single source of truth for a dashboard with filters, trends, and segmentations. Everything in code, reproducible, nothing decided silently.

STEP 0 — VERIFY INPUTS: re-verify each file's control totals against its Cleaning Log. These are the anchors every later number must reconcile to. Mismatch = stop.

STEP 1 — DESIGN THE JOIN (declare before executing): identify the full key combination defining matching granularity; prove each file's grain in code (rows per key combination); if grains differ, declare the handling: keep the transaction-grain side at full granularity and attach the key-grain side's amount via an allocated column — [AMOUNT]_Allocated equals the amount on exactly ONE row per key (first by date, tie-break by ID), NULL on others; all downstream totals and calculations use ONLY the allocated column. Choose join type with justification — default FULL OUTER, never inner (inner silently drops unmatched rows). Predict the output row count BEFORE joining; after joining, actual must equal predicted or stop and diagnose.

STEP 2 — EXECUTE: join on declared keys only; add Match_Status (Matched/Left_Only/Right_Only) — nothing dropped; immediately reconcile every amount column's sum (allocated where applicable) to its source, overall and per dimension. Mismatch = stop.

STEP 3 — ENRICH (add, never overwrite): comparison fields (variance absolute and %, NULL when denominator is 0 — never divide by zero, never fill 0); time fields for trends (sortable period components + a true chronological sort key); classification fields by explicit declared rules; carry single-source dimensions with NULL where unmatched. Document every derived column in a Data_Dictionary sheet: name, formula, source columns, null policy.

STEP 4 — GRANULARITY: output stays at the most granular level — no pre-aggregation, no subtotal rows. Every dashboard dimension is its own clean column. Verify in code: aggregating by each dimension reproduces the anchors.

STEP 5 — OUTPUT: one file "[NAME]_MERGED" with sheets: Data (flat table, one header row, proper types), Data_Dictionary, and Reconciliation (row-count equation, control totals source vs merged overall + per dimension, unmatched inventory with amounts, declared join design and allocation rules). State that this file must pass the validation prompt before any dashboard.

HARD RULES: full outer by default; no value invented, no null filled, no row dropped; grain stays maximal; every formula recomputable; any reconciliation mismatch = stop.
Stage 2 · Merge & enrich · 10 min

The deliverable: one _MERGED source of truth

192 rows exactly as predicted, reconciled totals, three sheets — and a reminder that nothing touches a dashboard before the audit passes.

Audit
Stage 3 · Audit · 8 min

What to expect

One paste with the _MERGED file and its _CLEAN sources. Copilot becomes an auditor: it judges, it fixes nothing — PASS or FAIL, computed on 100% of rows.

01
Contract check
Refuses anything without the _CLEAN suffix; reads the Reconciliation contract
02
Completeness
Anti-joins both ways — every source row present, no fabricated rows
03
Control totals
Every sum to the cent, per every dimension — offsetting errors exposed
04
Join integrity
Proves no fan-out; spot-checks the largest amounts field-by-field
05
Schema & derived
Types, chronological sort keys, every derived formula recomputed at zero tolerance
06
Verdict
PASS + Certified Control Totals — or FAIL with root cause per failure
Where do you come in? You don’t — by design. The auditor never fixes and never negotiates. On PASS you get Certified Control Totals; on FAIL you get the exact failing rows and go back one stage.
Stage 3 · The prompt

Paste with the _MERGED file + the _CLEAN sources

#3
03 · merge-audit
This prompt operates on [NAME]_MERGED against its _CLEAN sources.

Run a deterministic merge-and-aggregation audit. You are an auditor: PASS or FAIL, you fix nothing. Every check in Python/pandas on 100% of rows. One failed check = overall FAIL. All expected values are COMPUTED at runtime from the _CLEAN sources and the Reconciliation sheet — never hard-coded.

GATE 0 — CONTRACT: sources must carry _CLEAN (an _ALMOST_CLEAN file = hard FAIL, unresolved decisions). Verify source control totals against their Cleaning Logs and confirm user decisions are reflected in the data. The _MERGED file must contain Data, Data_Dictionary, Reconciliation; read declared keys, join type, grain/allocation rules, predicted row count as the contract.

GATE 1 — COMPLETENESS: merged row count = predicted, reconciled independently from source key structure. Anti-join each source vs Data: every source row present. Reverse anti-join: no fabricated rows. Match_Status counts and amounts = the Reconciliation inventory.

GATE 2 — CONTROL TOTALS: every amount column's sum in source vs merged, to the cent. If the contract declares an allocated column: non-NULL on exactly one row per key; its sum equals the source total; ALL aggregations and derived fields use it, never the repeated original. Re-aggregate by EVERY filter dimension — each roll-up reproduces source-computed totals (offsetting group errors hide under a matching grand total). Per-group row counts.

GATE 3 — JOIN INTEGRITY: prove no fan-out — no source amount appears more times than the contract allows. Spot-check 10 random keys + 5 largest amounts field-by-field vs source. No value altered in transit (string/numeric/date exact).

GATE 4 — SCHEMA & DASHBOARD-READINESS: flat table, single header, no subtotals/merged cells/spacers; amounts numeric with zero text values; dates typed with a true chronological sort key (not alphabetical); filter columns free of whitespace/case variants/near-duplicates; every column in Data_Dictionary; no NULLs beyond declared policy.

GATE 5 — DERIVED FIELDS: recompute every derived column from its dictionary formula row-by-row, zero tolerance; NULL/zero denominators yield NULL (never 0, inf, or 100%); decision-affected rows behave per policy.

VERDICT: table of gate/check/expected(computed)/actual/PASS-FAIL. On PASS: emit a Certified Control Totals block (overall + per dimension + row count) — the dashboard stage must open by matching it exactly. On FAIL: stop, list exact failing rows/groups/amounts + root cause + which stage to redo. Never explain away a discrepancy.
Stage 3 · Audit · 8 min

The verdict

51 of 51 checks passed — and the certification carries forward: the dashboard must reproduce these certified totals exactly.

Excel dashboard
Stage 4 · Excel dashboard · 10 min

What to expect

One paste with the validated _MERGED and its certified totals. Copilot builds the morning cockpit — and must recalculate the workbook in code before delivering it.

01
Gate 0
Re-aggregates the data and matches the certified totals before drawing anything
02
Filters & staging
Dropdown filters drive formula staging ranges — every chart is bound to them
03
Cockpit build
KPI cards, chronological trends, segmentation cross-tabs with live check rows
04
Red flags
Computed rules only: outliers, concentration risks, trend breaks — no opinions
05
Action items
One item per flag: what to check, owner, monetary impact, evidence link
06
Recalc gate
The workbook is recalculated in code — zero #VALUE!, charts proven reactive
Where do you come in? After delivery. Open it, change a filter, watch every chart follow. All thresholds live on the Reconciliation sheet — tune one value there and every flag updates.
Stage 4 · The prompt

Paste with the validated _MERGED + certified totals

#4
04 · excel-dashboard
This prompt operates on the validated [NAME]_MERGED (audit PASS) and its Certified Control Totals block.

You are a deterministic dashboard builder producing a self-contained Excel dashboard workbook. Every number computed in code from the Data sheet — nothing typed, nothing estimated.

GATE 0: refuse input without audit PASS. Re-aggregate Data and match the Certified Control Totals exactly (overall, per dimension, row count) before building anything. Use ONLY columns the Data_Dictionary designates for calculation (allocated columns, never repeated originals).

CAPABILITY FALLBACK (declared up front): if native PivotTables/slicers cannot be generated, do NOT stop and do NOT degrade to static summaries — implement the formula equivalent: a Filters panel of Data Validation dropdowns (values from Data + "All"), all KPIs/tables/chart ranges driven by SUMIFS referencing the dropdowns, cross-tabs built with formulas from full granular Data. Only if BOTH paths are impossible may you stop.

FORMULA COMPATIBILITY (prevents #VALUE!/#NAME?): only classic functions — SUMIFS, COUNTIFS, AVERAGEIFS, INDEX, MATCH, IFERROR, SUMPRODUCT, IF, AND, OR. Never FILTER, IFS, TEXTJOIN, LET, LAMBDA, XLOOKUP, UNIQUE, SORT or any dynamic-array function. No CSE array formulas. "All" handled by explicit IF branches (wildcards only on text). Bounded ranges only, headers excluded. IFERROR only on display cells — never on PASS/FAIL check cells.

MORNING COCKPIT STANDARD: charts MUST react to filters — every chart bound to a formula-driven staging area that recomputes from the dropdowns; a chart on static ranges = FAIL. KPI cards styled (fill, large bold number, semantic green/red by conditional formatting), data bars on rankings, direction arrows, heatmap cross-tabs, filters panel pinned top-left, frozen panes, no gridlines, chart titles phrased as executive questions.

SHEETS: (1) Dashboard — KPI strip (each total, variance abs+%, match rate, anomaly count) + 4-6 charts: chronological trend (by sort key, never alphabetical), composition, entity comparison, variance ranking; (2) Trends — period-over-period values/changes with reversal marks; (3) Segmentation — cross-tabs with a live formula-based PASS/FAIL check row vs certified totals; (4) Anomalies & Red Flags — computed rules listed next to results: variance outliers, statistical outliers (state method), unmatched rows, NULL amounts, concentration risks, trend breaks; severity by declared monetary bands; (5) Action Items — one per flag: what to check, owner from data if present, impact, evidence reference; nothing generic; (6) Reconciliation — certified vs computed totals with live PASS/FAIL cells + all thresholds declared once and referenced everywhere.

PRE-DELIVERY GATE: open and recalculate the workbook in code (LibreOffice headless or formula-evaluation library); confirm ZERO error values on all sheets; KPIs at "All" equal Certified Control Totals; change a filter in code and confirm staging ranges updated (chart reactivity). Report all checks. An unrecalculated workbook is not deliverable. Close by stating the dashboard totals — the handoff contract for the next stage.
Stage 4 · Excel dashboard · 10 min

The morning cockpit — in Excel

KPIs matching the certified totals, filters that drive every chart, and cost-center variance ranked by monetary impact — reds first.

HTML dashboard
Stage 5 · HTML dashboard · 10 min

What to expect

One paste with the validated _MERGED and its certified totals. Copilot builds a single self-contained HTML file — no CDN, works offline, double-clicked from disk.

01
Gate 0
Data embedded as JSON; totals matched in code; libraries embedded in full
02
Cockpit layout
KPI strip → trends → segment explorer → anomalies → granular table
03
Global filters
Everything recomputes AND visibly redraws on every filter change
04
Drill-down
Click a flag or a cross-tab cell — land on the underlying evidence rows
05
Self-test
Headless run with network off: every control works or hides itself
06
Integrity badge
The page audits itself live — divergence turns the badge red with the delta
Where do you come in? Explore. Ten seconds on the KPI strip, spot the reds, two clicks to the evidence rows — while the integrity badge re-proves the totals on every load.
Stage 5 · The prompt

Paste with the validated _MERGED + certified totals

#5
05 · html-dashboard
This prompt operates on the validated [NAME]_MERGED (audit PASS) and its Certified Control Totals block.

Build ONE fully self-contained executive-grade interactive HTML dashboard: all data embedded as JSON, ALL libraries embedded in full inside the file (no CDN, no external scripts/fonts/CSS — must work offline, double-clicked from disk). Init only after DOMContentLoaded and after embedded library tags; if a library object is undefined at init, show a visible error banner naming it — never fail silently. Verify embedded library integrity (length/checksum vs official build).

GATE 0: extract Data to JSON; embedded row count and sums must equal the Certified Control Totals, computed and compared in code before writing HTML. Use only Data_Dictionary calculation columns (allocated, never repeated originals). Render a live Data Integrity badge in the footer: certified vs browser-computed totals, recalculated by JS on load; divergence turns it red with the delta.

DESIGN — MORNING COCKPIT: big picture first, details on demand: (1) KPI strip, (2) trend + composition, (3) segment explorer, (4) anomalies & actions, (5) granular table. Restrained premium aesthetic: one accent color + semantic red/green, neutral background, card layout, consistent typography, tooltips everywhere, responsive, RTL-safe for Hebrew labels. Executive number formatting (separators, compact 1.2M, signed colored variance). Every chart carries a one-line data-computed "so what" caption. Target flow: read KPIs in ten seconds, spot the reds, reach evidence rows within two clicks.

SECTIONS: KPI cards (value, context vs budget/prior, sparkline, status color, click scrolls to detail); chronological trend chart (sort key, never alphabetical) with absolute/change toggle; composition donut + stacked bars over time, slices click-to-filter; variance ranking; GLOBAL FILTER BAR pinned on top — multi-select per dictionary filter dimension, All default, one-click reset, active filters as removable chips; EVERYTHING recomputes AND re-renders on filter change — charts visibly redraw via chart.data + chart.update() (never recreate instances leaving stale listeners — causes handleEvent TypeErrors; if recreation is needed, destroy() first); segment explorer — user-picked row/column dimensions, heatmap cross-tab, cell click drills to underlying rows, breadcrumb, CSV export; anomalies — the same computed rules and thresholds as the Excel stage, severity chips, click-through filters the table to evidence rows; action items derived strictly from flags; granular table — sortable, searchable, filter-aware, paginated, exportable.

USABILITY: feature-detect every capability at load — if Blob downloads are blocked, exports fall back to a modal with selectable content + copy-to-clipboard; if that fails too, HIDE the button. A visible dead button is a bug. All thresholds in one visible config block.

PRE-DELIVERY GATE: run in a headless browser with network DISABLED; scripted interaction pass — load, apply every filter, click every button, drill down, export, reset; confirm ZERO console errors, every control functional, all charts rendered; verify unfiltered browser totals = Certified Control Totals and 3 filter combinations match the same computed in pandas; verify a load-time self-test that programmatically applies a filter and asserts every chart dataset changed. Report all checks with the delivery.
Stage 5 · HTML dashboard · 10 min

The live dashboard — running inside this deck

This is the actual file Copilot produced. Filter, drill, explore — the integrity badge at the bottom is re-proving the totals right now.

Open full screen in a new tab
Executive deck
Stage 6 · Executive deck

What to expect

One paste with the dashboard workbook. Copilot turns certified numbers into the management story — opening, insights, flags, actions — under the NiCE brand system.

01
Gate 0
Re-verifies every KPI against the Certified Control Totals — to the cent
02
Story outline
Opening, agenda, summary, insights, flags, actions — one message per slide
03
Brand system
NiCE tokens declared in the prompt: colors, fonts with Arial fallback, real logo only
04
Slides & charts
Native charts from proper chart-data objects — never inline junk, never empty series
05
Hardening audit
Zero placeholders, no overflow, no fabricated figures — audited in code
06
Ready deck
A .pptx that passed its own audit — ready for the boardroom
Where do you come in? You present it. Give it the presenter name and the logo file — and check that nothing on a slide says more than the data can support.
Stage 6 · The prompt

Paste with the validated dashboard workbook

#6
06 · executive-deck
This prompt operates on [EXCEL_DASHBOARD_FILE] — the validated dashboard workbook — and its Certified Control Totals block.

Build an executive PowerPoint (.pptx) for management: opening, agenda, executive summary, insights & trends, issues & red flags, action items, thank-you. Every number comes from the workbook sheets (Dashboard, Trends, Anomalies & Red Flags, Action Items, Reconciliation) — nothing invented, nothing estimated.

GATE 0: re-aggregate the workbook data and match the Certified Control Totals exactly before creating any slide. Any KPI shown on a slide must equal the certified value to the cent.

BRAND SYSTEM (NiCE brand guidelines, hardened — do NOT fetch the brand PDF, it may be unreachable; these tokens are the contract): colors — Charcoal #21212b, White #ffffff, NiCE blue #3694fc, Electric blue #025afb, Electric indigo #6100ff, Warm white #f2f0eb for panels; semantic green #00e2a0 / coral #ff5b8a ONLY for favorable/unfavorable variance. Backgrounds: white or charcoal only, one accent color per slide. Typography: Be Vietnam Pro if installed, otherwise Arial (the brand-approved system fallback) — declare the fallback explicitly, never leave the library default. Writing rules: sentence case everywhere, no ALL-CAPS headlines, and the name is always written NiCE (capital N, C, E, lowercase i). Logo: only a provided image file, per the INPUTS rule below.

INPUTS (resolve from here, do not stop to ask): presenter name = [PRESENTER_NAME]. Logo: if a logo image file is attached to this chat, place it on the opening and closing slides; if none is attached, proceed WITHOUT any logo — a clean typographic header in the brand colors. Never draw a substitute logo and never type the wordmark as decorated text.

STRUCTURE (16:9, one message per slide): (1) Opening — title, subtitle, date, presenter name; (2) Agenda — the sections ahead; (3) Executive summary — KPI strip matching certified totals, variance colored semantically; (4-6) Insights & trends — each slide: one headline finding phrased as a statement, one supporting chart, one computed so-what line; (7) Issues & red flags — ranked by monetary impact with severity chips, from the Anomalies sheet only; (8) Action items — table: what, owner (from data if present), monetary impact, severity, evidence reference; (9) Thank you.

COPILOT FAILURE MODES — PREVENT EXPLICITLY:
1. Charts: build native pptx charts fed through proper chart-data objects (python-pptx CategoryChartData), or embed chart images exported from computed data. NEVER pass inline junk or empty series — after building, assert every chart has at least one series with more than zero points.
2. Text overflow: max 5 bullets per slide, each up to 12 words; declared font sizes (title 32-40pt, body 18-20pt); content that exceeds the limit is split into another slide — never shrunk to unreadable, never clipped.
3. Placeholders: zero occurrences of "[", "TBD", "XXX", "Lorem", "placeholder" in any text frame — audited in code.
4. Fabrication: every figure on every slide must trace to a workbook cell or a computed aggregate of workbook cells. If the data cannot support a claim, the slide does not make it.
5. Layout drift: one slide master, consistent margins, no random theme colors — only the declared tokens.

LAYOUT ENGINE — GRID DISCIPLINE (prevents overlaps): treat every slide like an HTML grid. Define explicit non-overlapping zones with fixed coordinates (header band, content columns, footer); every element lives inside exactly ONE zone and must fit within it. No two elements' bounding boxes may intersect. Z-order: text is ALWAYS on top — a decorative shape may never cover any part of a text frame; if a shape and text share a zone, the shape is a background panel and the text sits fully inside its padding. After building, run an overlap audit in code: per slide, compute the bounding box of every shape and text frame and assert zero intersections (the only allowed case: a background panel that fully contains its text). Any intersection = rebuild that slide.

PRE-DELIVERY GATE (in code, reported with the delivery): open the generated .pptx and verify — declared slide count; zero placeholder strings; every chart series non-empty; fonts are Be Vietnam Pro or Arial only; every KPI equals the certified totals; brand colors only; and the overlap audit passes with zero intersections. A deck that has not passed this audit is not deliverable.
Stage 6 · Executive deck

The deliverable: the story for management

Certified numbers, brand-clean design, one message per slide — built from the dashboard, not from imagination.

The takeaways

What we are taking back to the desk

01
The process is the standard
Use cases from every department converged into one quality process
02
Human validation is mandatory
AI output is never the final word. We own the deliverable and the result
03
The first run writes the prompt
Every failure we hit goes back into the prompt so it cannot happen twice
04
Build and validation stay apart
The engine that builds a number never grades its own work
05
Always ask for stop points
Wherever the AI would otherwise assume, make it stop and ask you first
06
The limit is the ask, not the tool
Ask for anything. The worst case is that you refine it and ask again
07
Keep every prompt
They are reusable assets. Edit them to fit your own needs next time
Thank you

The magic isn’t the tool. It’s the process.

Our power is knowing what to ask — so we can stand behind every number.
Omer Mayost
LinkedIn