Power Apps · canvas → code

Your canvas apps, as real code.

Fixed-price conversion to React and TypeScript. 3,631 formulas on the last one.

What actually happens

Real formulas from a real conversion — a five-screen expenses app on Dataverse, not a mock-up.

01 · Your app today

Power Fx, locked in a formula bar. No source control, no tests, no review.

// Employees screen · gallery items
Search([@Employees],
  SearchInput1.Text,
  cr6bf_employeename,
  cr6bf_email,
  cr6bf_phone)

// the save button
SubmitForm(Form1)
02 · The converter

Deterministic translation. Rules, not a model guessing at your logic.

3,631

formulas read — every one accounted for

3,542

translated automatically, by rule

89

handed to a developer, itemised and costed

03 · What you get

TypeScript that compiles clean, in a repo you own.

pfx.Search(Employees,
  SearchInput1?.Text,
  (row) => row.cr6bf_employeename,
  (row) => row.cr6bf_email,
  (row) => row.cr6bf_phone)

// SubmitForm, made explicit
bx.submitForm("Form1", {
  dataSource: "Employees",
  item: RecordsGallery1?.Selected,
  values: { … }
}, { onSuccess, onFailure })

And the 89 it wouldn't translate

Every one is listed, with the reason, in the report you get. Nothing is silently dropped — a stub goes into the source so the app still compiles and the gap sits where a developer will actually look.

// Employees screen · SidebarContainer1 · Visible
If(And('Employees screen'.Size = ScreenSize.Small, Or(newMode, editMode)), false, true)

→ TODO(manual): canvas responsive breakpoints (ScreenSize) have no code-app
  equivalent — needs a CSS media query. Est. 7.5–16.5 h across 42 items.

You don't have to take my word for any of it

The demo and the deliverable are both on this page. No form, no call first.

Run it
The converted app, in your browser. Five screens, real records, nothing staged for the camera.
Open the converted app →
Read it
The full assessment report from that conversion — every formula, what it became, and what the remainder costs.
Open the report →
Check it
Translation is deterministic: the same app in gives the same code out, every time. No model is improvising over your business logic, and nothing is hidden when it can't be translated.

Pricing

Published, fixed. You'll know what this costs before you speak to me.

Start here
£495
Conversion assessment · 10 working days
  • Every formula in your app, read and classified
  • An itemised list of what needs a developer, with effort bands
  • A fixed price for the migration itself
Book an assessment
Most people want this
£2,950
One app converted · fixed price
  • Your app as a React and TypeScript code app
  • Delivered into your own repository, yours outright
  • 50% deposit, balance on go-live, 30-day fixes window
  • Includes the £495 assessment
Start with an assessment
More than one app
from £8,000
Programme · priced after assessment
  • Several apps converted together, sequenced
  • Shared components done once, not per app
  • Handover so your developers can carry it on
Talk it through
£495, credited in full against your migration. If you decide not to go ahead, the report is still yours — hand it to any developer and they can quote from it.

£2,950 covers a typical app — up to around ten screens. Bigger or stranger than that and the assessment says so, with a price, before either of us commits to anything.

Afterwards, if you want it

£195/month for two hours of changes and fixes, or £395 for five. Monthly in advance, cancel whenever. Ask about aftercare →

A licence for consultancies — not yet

People keep asking whether they can run the converter themselves. Eventually, yes. Not today, and I'd rather say so than take your money for something half-ready.

It ships when two things are true: the converter has been run across a large corpus of apps I did not write, with the results published — and enough consultancies have asked to make supporting it worth doing properly. Join the waitlist →

All prices are final — no VAT is charged, as Cairn Automation is not VAT registered.

The questions people actually ask

What happens when I email you?

You get a reply from me, not a sales sequence. I'll ask for an export of your app (.msapp) and confirm the £495 before anything runs. If your app turns out to be a poor fit, I'll say so and you won't be invoiced.

Who owns the code?

You do, outright, including the generated source. It lands in your repository under your source control. There's no runtime licence and nothing to keep paying me for.

What happens to our data?

The converter reads your app's formulas and structure — not the records inside it. The generated app runs on seeded sample data until it's wired to your real environment.

Is this AI writing our app?

No. The translation is rule-based and deterministic. Anything the rules can't handle is reported as needing a developer rather than being guessed at — that's the 89 above.

Why would we move off canvas at all?

Code apps went generally available in February 2026. If you're hitting performance ceilings, want real source control and code review, or your licensing changed under you, that's the move. If none of those bite, stay where you are — it's a legitimate answer.

How long does a migration take?

The assessment is ten working days. The migration depends on what the assessment finds, and you'll have a fixed price and a duration before you commit to it.

Can we just buy the converter?

Not yet. A licence for consultancies is coming, but only once the converter has been run across a large corpus of apps I didn't write and the results are published. Until then I'd be selling you a number I can only prove on my own app. There's a waitlist.

Why this exists, and who you're dealing with

Power Apps code apps went generally available in February 2026, and Microsoft ships no path from canvas to code. You either rewrite by hand — quoted in months — or you stay where you are. I built the converter doing this work for a client, and it now translates the mechanical majority by rule.

I'm Ali Reynolds. I've spent my career in Microsoft 365 and the Power Platform, I do this work myself, and there's no account manager between us. If you want to talk it through before spending anything, say so and we'll get twenty minutes in the diary.

[email protected]