Your Connect app is frozen.
Get it onto Forge before it matters.
Atlassian stopped accepting Connect app updates on March 31, 2026, and has told customers support ends in December. Portwright migrates Connect apps to Forge for a fixed fee — scoped by an automated scan of your own descriptor, so the quote is the contract.
48-hour turnaround. The $750 is credited toward your migration.
How it works
-
Assessment — $750, 48 hours
An automated scan of your app's Connect descriptor plus hands-on review: every module mapped to its Forge equivalent, the honest blockers, a data-migration sketch, and a fixed quote with milestones. Credited in full toward the migration.
-
Fixed-fee migration
Priced by complexity, $5K–$20K. Billed 40% on start, 40% at feature parity in staging, 20% at cutover. Scope is the assessment's module inventory — anything new is a written change order, not a surprise invoice.
-
Cutover with a runbook
Export, transform, import, checksum verification, a dual-run window, and a rollback path. Including the announcement your customers see — written for you, so the Forge version showing up in their admin logs never becomes a support ticket.
Pricing
Most migrations land in these bands. Your assessment returns an exact fixed price computed from your descriptor's module inventory — the bands are anchors, not a menu.
| Engagement | What it usually looks like | Typical price |
|---|---|---|
| Assessment | Descriptor scan + migration map + your fixed quote, 48h | $750 (credited) |
| Small migration | Up to ~8 modules, no app data store, no external services | $5,000 |
| Medium migration | 8–20 modules, webhooks or lifecycle hooks, a data store to migrate | $9,000 |
| Large migration | 20+ modules, heavy data, external integrations, staged cutover | $15–20,000 |
I take 2–3 migrations at a time. Slots are first-committed, first-served.
What your customers notice
Almost nothing — that's the point. Same listing, same data, same workflows. The work happens in staging against a copy of your data; production cuts over in a planned window with checksum-verified parity and a rollback path. Your customers get an announcement drafted for them before anything changes in their admin logs.
Why one specialist and not a dev shop
- The scan is the scope. Quotes are generated from your descriptor's actual module inventory — no estimate theater.
- The person who quotes is the person who codes. No account manager, no handoff to a junior. Your source and customer data live in a private repo one person touches, deleted on contract end.
- Your exposure is capped by design. Milestone billing means at most 40% is ever at risk, finished work lands in your repo as it ships, and the cutover runbook is written so any competent engineer could execute it.
- Honest blockers, in writing. If a module has no Forge equivalent, the assessment says so before you've spent a dollar on the migration.
"What if you're unavailable mid-engagement?"
The right question to ask one person — so the engagement is structured so the honest answer is: you'd be fine. You're never paid ahead of delivered work (40/40/20 milestones). The Forge app is created under your Atlassian partner account from day one — you own it, not me. Every commit lands in your private repo as it ships. And the cutover runbook is written so any competent engineer could execute it without me in the room. Worst case, you keep every completed milestone and the map to finish.