Windows desktop appLocal language modelPower BI projects

From business question to a reviewed Power BI report.

Modelcraft is a local-first workspace for Power BI. It profiles your data, drafts report pages, maps the semantic model and helps write DAX. A local model proposes each change; typed contracts and deterministic checks validate it before anything is built.

Interactive workspace demo

Live interfaceSynthetic retail data · Prepared assistant replies · No live LLM, Power BI or DAX engine

Full screen

Select a visual on the canvas, rearrange the page, or ask the demo assistant about the report.

  • Grounded in your modelProposals reference real tables, columns and measures.
  • Reviewed before it’s builtEvery change is a draft with undo and version history.
  • Local by defaultYour data and the language model stay on your machine.

How a change flows

The model proposes. Deterministic code decides.

Small local models can be wrong. Modelcraft treats their output as a request to check, not an instruction to execute.

  1. 01

    Ask

    Describe the outcome in business terms, scoped to the page, visual, table or measure you’ve selected.

  2. 02

    Propose

    A local Qwen3.5 4B model drafts a bounded request that references real tables, columns and measures.

  3. 03

    Validate

    Typed contracts and deterministic compilation check the change. Model text alone never edits a report.

  4. 04

    Review & build

    Changes land as a draft with undo and history, then compile to a validated Power BI Project (.pbip).

What’s real on this site

Two experiences, clearly labeled.

On this page

Interactive workspace

  • The real React interface from the desktop app
  • A small synthetic retail dataset: 72 orders, four tables
  • Prepared assistant replies and sample DAX results
  • No live LLM, no native Power BI or DAX engine
  • Edits stay in this browser tab and reset on reload
Open the full-screen workspace
Separate page

WebGPU lab

  • Real browser-local inference with Qwen3.5 4B
  • You select seven compatible local model files, about 2.72 GB
  • Names, sizes and SHA-256 hashes are verified before loading
  • Model files are never uploaded to an inference server
  • Needs Chrome with hardware WebGPU and enough GPU memory
Inspect the lab

Evidence

Built, tested, and measured in public.

The lab scores answers against response contracts: does a DAX answer declare the requested measure with valid references, and does a report proposal bind the requested fields? These are structural checks, not proof of native Power BI correctness or executed DAX.

Original ten tasks · raw model

5/10

4/6 DAX and 1/4 report contracts, straight from the model.

Same ten tasks · after repairs

10/10

Not general accuracy. The repair rules were informed by these same ten tasks.

Fresh, harder fourteen · frozen pipeline

11/14

Strict score on a transfer test frozen before its first run. Manual review found one more valid DAX expression.

GPU offload
34/34 layers
Median generation
4.25 tok/s
Median complete task
29.58 s
Recorded on
Intel Iris Xe · Chrome

Engineering

Designed around the failure cases.

Model output can be incomplete or wrong

Closed request contracts, grounded identifiers, deterministic compilation and validation.

A retry or stale tab can repeat a change

Idempotency keys, workspace ownership and optimistic base-hash checks.

A report write can fail midway

Staging, sealed validation receipts, atomic promotion and undo.

Model setup can be interrupted

Resumable setup, cached hash verification and verified replacement before promotion.

Repeated launches can compete

Native single-instance handling and clear backend state ownership.

Preview and Power BI can disagree

Separate preview, structural validation, native execution and render qualification.

Tauri 2React 19TypeScriptFastAPIPydanticDuckDBPyArrowSQLiteQwen3.5 4BWebGPU

Spend three minutes in the workspace.