Keep the app.
Gain a codebase.
Move the right Power Apps canvas app to React and TypeScript—with a clear account of what carries across, what needs a developer, and how we prove it works.
What actually happens
Translation saves mechanical work. A supported migration also needs explicit gaps, working data bindings and tests of your important user journeys.
Power Fx and app structure. We inspect the source and the behaviour your team relies on.
// Simplified illustration · gallery items Search([@Employees], SearchInput1.Text, cr6bf_employeename, cr6bf_email, cr6bf_phone) // Control behaviour and data bindings // are assessed alongside the formulas.
Deterministic translation. Rules, not a model guessing at your logic.
Inspect
formula inventory, controls and dependencies
Translate
supported logic by rule; gaps made explicit
Verify
builds, data operations and agreed user journeys
A codebase you own. Supported logic plus an explicit scope for developer work.
pfx.Search(Employees, SearchInput1?.Text, (row) => row.cr6bf_employeename, (row) => row.cr6bf_email, (row) => row.cr6bf_phone) // Illustrative output, not a complete app. // Saves, errors and navigation must pass // acceptance tests before handover.
A translation percentage is not a working app
The free checker classifies formulas; it does not run your app or certify a migration. Screen lifecycle, form bindings, permissions, integrations and failure cases still need review. Unsupported items belong in the assessment and the agreed work—not behind a reassuring percentage.
// Employees screen · Email_DataCard1 · DisplayName DataSourceInfo([@Employees], DataSourceInfo.DisplayName, 'cr6bf_email') → Manual review: column metadata needs an explicit implementation. The assessment records the approach and effort; the checker is not a quote.
Inspect the work before you enquire
Open examples, with their limitations stated. No form or call required.
Is your app a sensible candidate?
Start with a free formula check in your browser. No upload, no account and no sales sequence.
Export your app as a .msapp
and open it in the checker. It identifies formula patterns and reasons manual work may be needed.
It does not execute the source app, generate a finished migration or validate your integrations.
The paid assessment adds engineering review, supported scope and an acceptance plan.
What I need, and what I don't. The browser check needs an app export, not access to your tenant. Exports can contain connection metadata, embedded values or media, so treat them as sensitive. Only inspect files you are authorised to use; do not send credentials or live business records.
What happens to the file: nothing. The checker runs entirely inside your own browser — your app is never uploaded, so I never receive it and there is nothing for me to keep. The page itself loads from Cloudflare; the file check makes no upload request. If you want a reviewed assessment, email first so we can agree scope and an appropriate way to transfer a sanitised export. Retention is described in the privacy notice. I won't use your app as a public example without asking you first, and I won't put you on a mailing list for sending me one. It's all written down in the privacy notice.
Staying on canvas may be the right answer. We check your target devices, host, integrations and licensing before agreeing a migration. If keeping the app or rewriting a small part makes more sense, that is what I will recommend.
Check your app now → Ask about suitability
If the email button does nothing, your browser has no mail app set up — the address is hello@cairnautomation.co.uk and works from anywhere.
Apps exported from older versions of Power Apps may not be readable in the browser. If the checker reports an unsupported format, email me the format/error message first and we can agree the next step.
Pricing
Start with the assessment. Migration scope and acceptance criteria are agreed before you commit.
- Formula inventory, app structure and supported-scope review
- An itemised list of what needs a developer, with effort bands
- A suitability recommendation, acceptance plan and fixed migration quote
- 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
- Several apps converted together, sequenced
- Shared components done once, not per app
- Handover so your developers can carry it on
£2,950 is the typical-app price — usually up to around ten screens. Screen count alone does not establish scope: integrations, controls and behaviour matter too. Exceptions are quoted before either of us commits. Power Apps licensing is separate.
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
The converter is currently an internal engineering tool for the service, not a self-serve product. A consultancy licence is a possible future offer, not something you can buy today.
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.
Questions worth asking first
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 browser check does not upload your export. Exports themselves can contain sensitive values or metadata. For a reviewed assessment, agree secure transfer and scope first. The public preview uses sample data, not a connection to your environment.
Is this AI writing our app?
No. The translation is rule-based and deterministic. Anything the rules can't handle is reported for developer review rather than presented as verified behaviour. A real migration also needs tests of controls, data operations and user journeys.
Why would we move off canvas at all?
When your team needs a React/TypeScript development workflow or UI behaviour better served by code. Canvas already has source control and Test Studio; migration is not automatically better. Code-app end users need Power Apps Premium licences.
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.
Will it still work in the Power Apps mobile app?
Do not assume your current host and device workflow carries over. We check the target experience against Microsoft’s current support and limitations and include it in acceptance testing. A responsive browser preview is not proof of mobile-player, offline or device-management compatibility.
Can we just buy the converter?
Not today. This is an assessment-led migration service. If a consultancy licence becomes viable, its supported scope and evidence will be published before it is sold. You can register interest without a purchase or commitment.
Why this exists, and who you're dealing with
I built Canvas Rescue to reduce repetitive work when a canvas app is a good candidate for code. The aim is useful engineering, not a headline percentage: retain supported logic, identify the manual work, and verify the result against what the business needs.
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.