// canvas-rescue · .msapp → react + typescript

Your canvas app got you here. It won't get you further.

Performance ceilings, no real source control, formula sprawl nobody dares touch, and licensing that changed under you. Code apps are the way out — but a manual rewrite is quoted in months. Our accelerator does the mechanical 97% deterministically and hands your developers an honest list of the rest.

validated on a real app: 3,631 formulas · 97% auto · tsc --noEmit: 0 errors

Why now

feb 2026

Code apps are GA

Power Apps code apps reached general availability — full-code React/Vue apps, hosted and governed inside Power Platform. The destination is production-ready.

jan 2026

The per-app plan is gone

Microsoft retired the per-app licence. Small deployments now face per-user Premium — or a full exit. Our output runs either way: in-platform as a code app, or standalone React with your own data layer.

no first-party path

Microsoft isn't building this

The vibe AI experience explicitly excludes canvas apps, and no migrator appears in the 2026 release plans. Converting the estate is on you — or on tooling like ours.

How the accelerator works

Transpilation with receipts — not an AI black box. Deterministic where possible, AI only behind a test guard, and everything else honestly flagged for a human.

01

Ingest & parse

Your .msapp is unpacked and every Power Fx formula is parsed to a full AST — 99.97% parse rate on our validation app.

02

Analyze

Formulas are classified into translatability tiers; reactive dependencies, variables, collections and connectors are inventoried.

03

Generate

A Vite + React + TypeScript project: one component per screen, router, state stores, a Power Fx runtime shim, and a pluggable data layer matching pac code add-data-source.

04

Report

The exception report: coverage by tier, every TODO located and explained, and the exact remaining developer work — before anyone commits to anything.

The AI rule that keeps output trustworthy: complex formulas go to an AI translator only behind a test guard — the generated unit test must pass or the translation is rejected and demoted to a clearly-marked manual stub. AI never silently guesses your business logic.

The exception report — our favourite deliverable

Excerpt below reflects the real conversion of a five-screen Dataverse expense app (3,631 formulas). This honesty is the point: you see the whole picture before spending a pound on migration.

exception-report.html — Employee Expenses Manager (sample app) · 3,631 formulas

Tier 0 · mechanical
71%
Tier 1 · runtime shim
26%
Tier 2 · AI + test guard
2%
Tier 3 · manual
1%
// Power Fx in, TypeScript out — reviewable by anyone who knows either:
// Filter(Expenses, Status = "Open" && Amount > 100)
const open = pfx.Filter(expenses, e => e.Status === "Open" && e.Amount > 100);

// TODO(manual): SubmitForm(EditForm1) — form→data-source binding needs review

tier proportions from the validation run · open the full interactive report · see the converted app running · full report supplied with every assessment

What we won't pretend

No converter gets to 100% — canvas and code apps share no runtime model, so this is transpilation plus re-architecture, and roughly 3% of a typical app needs a developer's judgement. Today that includes: SubmitForm bindings, references across screens, responsive sizing formulas, and wiring live connectors (which requires your tenant). Every one of those lands in the report as a located, explained TODO — never a silent guess. If your app is mostly custom components and pixel-perfect layout, we'll tell you the honest coverage number at assessment and you can walk away £0 poorer on the build.

Fixed prices, wedge first

Nobody should commit to a migration on faith. The assessment gives you the evidence; the rescue is only quoted from it.

step 1

Conversion Assessment

£495
fixed · credited against your rescue
  • We run the accelerator on your .msapp
  • Full exception report — coverage by tier
  • Connector & licensing position review
  • Fixed-price rescue quote, or an honest "don't convert"
Book an assessment
ongoing

Post-rescue care

from £195
per month via Cairn Automation
  • The converted app maintained and extended
  • Monitoring, fixes, licence watch
  • Same care plans as our automation clients
Care plans →

Consultancy? You want the tool, not the service.

We're licensing the accelerator to Power Platform consultancies and internal pro-dev teams once it has survived enough strange apps in the wild. Early-access licensees shape the roadmap and lock launch pricing.

Join the licence waitlist