What the old stack costs, what the new one costs, and what it takes to keep the legacy accounts alive instead of deleting them. Prepared 2026-07-09 (IMMIGR8-599, under epic IMMIGR8-324). Render + GoDaddy figures are API-pulled; vendor prices cited from current public pricing pages; items marked verify need a short account check.
Keeping the old WordPress site and the Microsoft accounts intact and reachable costs almost exactly the same as deleting them: $0–4 a month. The expensive part was never the data. It was the live hosting and the mailbox licenses. So there is no cost argument for a hard delete, and no cost argument for staying on Kinsta. Go cold, keep everything.
The new platform (app, staging, HQ, the evaluation pipeline, Educ8Ed preview) runs on Render and Cloudflare for about $73 a month, pulled live from the billing APIs. Add Google Workspace and the domains, and the business's real software bill is about $105 a month. Today we pay roughly $174, because the old stack still runs alongside it: Kinsta hosting a WordPress site nobody visits, Microsoft 365 mailboxes nobody reads, and WordPress plugin renewals for a site nobody edits. The good news is that we do not have to choose between saving money and keeping our history. The old site can be preserved as a permanent, free static archive; the old mailboxes can be preserved as free shared mailboxes or exported to files; the Microsoft sign-in that districts use is free on its own and needs no paid mailbox. Net: about $69 a month back (roughly $830 a year), and nothing is lost.
Not billed to Immigr8: Linear, Slack, 1Password, and Claude are 1116-level subscriptions, listed for completeness at $0 to this entity. SendGrid, Sentry, and Better Uptime ride free tiers. Stripe charges per transaction with no fixed fee.
| Category | Old stack (WordPress era) | $/mo | New stack | $/mo | Delta |
|---|---|---|---|---|---|
| Website + product hosting | Kinsta — WordPress, brochure site only | ~$35 verify | Render — app, pipeline, staging, HQ, Educ8Ed, landing | $66 API | +$31, and it now runs the entire product |
| Site building / forms | Oxygen builder + JetEngine forms (paid WP plugins) | ~$6 verify | Built in-house (React + Express) | $0 | −$6 |
| Email + docs | Microsoft 365 (GoDaddy-resold) | ~$28 verify | Google Workspace (immigr8.net tenant) | ~$22 verify | −$6, and the M365 side is cancellable now |
| Transcript storage + OCR | — (manual reading, no system) | $0 | Cloudflare R2 + scale-to-zero OCR container | ~$6 | +$6, replaces hours of manual work |
| Transactional email / SMS | — (none) | $0 | SendGrid (free tier) + Twilio (usage) | ~$5 | +$5 |
| Monitoring | — (none) | $0 | Sentry + Better Uptime (free tiers) | $0 | — |
| Payments | Manual invoicing | $0 | Stripe (per transaction, no fixed fee) | $0 fixed | — |
| Domains | GoDaddy — same either way | ~$6 | — | ||
| Total | Old stack | ~$69–75 | New stack, all-in | ~$99–105 | +~$30/mo |
Read this honestly: the new stack costs about $30 a month more than the old one did, and it replaced a brochure website with the entire transcript-evaluation platform: an app, an OCR pipeline, a staging mirror, an internal HQ, and a second product surface. The waste isn't the new stack. The waste is paying for both (~$174/mo) while the old one serves nobody.
Where we are today. Kinsta serves a site nobody links to, Microsoft mailboxes collect nothing, plugin licenses renew for a site nobody edits. Costs about $830 a year more than any other option and buys nothing.
Doesn't need the cutover at all. Email has been on Google for months. Requires the GoDaddy defederation sequence first (see Timeline & risks) so the sign-in tenant survives.
Cut over, then keep everything: the WordPress site becomes a free static archive that still loads at a URL, the mailboxes become free shared mailboxes (or exported files), the Microsoft sign-in tenant stays alive for districts at no cost, and old email addresses forward into Google Workspace for free. Optionally hold one $4/mo Exchange license as insurance. Nothing is deleted. Nothing is lost.
Saves $0–4 a month versus option C and permanently destroys the WordPress site, the mailbox history, and (if sequenced wrong) the district SSO tenant. There is no financial case for this. It appears here only to show that it isn't worth it.
| Scenario | New platform | Workspace | Kinsta | Microsoft | Plugins | Domains | Total / mo |
|---|---|---|---|---|---|---|---|
| A. Today | ~$73 | ~$22 | ~$35 | ~$28 | ~$6 | ~$6 | ~$174 |
| B. Microsoft licenses cancelled | ~$73 | ~$22 | ~$35 | $0 | ~$6 | ~$6 | ~$146 |
| C. Legacy cold storage recommended | ~$73 | ~$22 | $0 | $0–4 | $0 | ~$6 | ~$101–105 |
| D. Hard cancel (destroys data) | ~$73 | ~$22 | $0 | $0 | $0 | ~$6 | ~$101 |
Estimates use midpoints of the verify-flagged ranges. The gap between C and D, which is the entire price of keeping our history, is $0 to $4 a month.
Researched 2026-07-09 against current vendor pricing and documentation. Items marked verify need an account-owner look.
| Option | $/mo | Keeps | Loses | Watch out |
|---|---|---|---|---|
| Stay on Kinsta's cheapest plan | $35 ($30 annual) | Everything, live | Nothing | Kinsta has no pause, suspend, or archive tier. Single 20GB is the floor and the price never drops at renewal. The most expensive way to warehouse a brochure. |
| Static export to a free host recommended | $0 | Every public page, image, and style, live at a URL with free SSL | Contact forms, wp-admin, any dynamic JetEngine loops | Export while the site is still live (Simply Static or WP2Static), then verify forms and dynamic pages before cancelling. Cloudflare Pages' free tier permits commercial use. |
| Download the full backup, host nothing | $0 | Complete restorable copy: database dump plus wp-content (themes, plugins, uploads) | Nothing is served anywhere | Do this before cancelling, either way. Kinsta's 14-day backup retention applies only while the plan is active; post-cancellation persistence is unverified. Store the archive in our own R2 or Drive. |
| Move WordPress to a bargain host | ~$3–6 | Fully functional WordPress, forms included | Managed performance and support | Cheapest rates need multi-year prepay and renewals jump. Only worth it if a specific form must keep working. |
| Option | $/mo | Keeps | Watch out |
|---|---|---|---|
| Entra ID Free + unlicensed shared mailboxes recommended | $0 | The tenant, the district SSO app registration, all sign-in functionality, plus old mailbox data as shared mailboxes | Shared mailboxes are free up to 50 GB each; at the cap they stop receiving. Someone opening one needs a licensed mailbox somewhere. Entra ID Free explicitly includes single sign-on and cannot be cancelled. |
| Above, plus one Exchange Online Plan 1 seat (insurance) | $4 (annual) | Guarantees Exchange stays provisioned in the tenant and gives one licensed mailbox to administer the shared ones | Buy it Microsoft-direct or through a CSP, not through GoDaddy. Removes any doubt about whether a zero-license tenant keeps shared mailboxes. |
| Export mailboxes to PST, keep nothing in Exchange | $0 | Offline copies of everything | No live mailbox; the files must live somewhere durable. |
| Exchange Online Plan 2 per mailbox (legal hold) | $8 per mailbox | Litigation hold, 100 GB mailboxes, inactive-mailbox preservation | Only if a real legal-retention obligation exists. The hold must be placed before the license is removed. |
| Item | $/mo | What happens |
|---|---|---|
| Oxygen Builder license | $0 | A one-time lifetime license, already paid. It never lapses and updates are included forever. Nothing to do. |
| JetEngine / Crocoblock | $0 | Annual subscription. Cancel auto-renew and the installed plugin keeps working; you lose updates and support, not the plugin. Moot entirely once the site is static. |
| Mail to old @immigr8.net addresses | $0 | Cloudflare Email Routing offers a free catch-all that forwards every old address into the Google Workspace inbox we already pay for. Nothing bounces. |
| Domains | ~$6 | Keep. Losing the domain would kill both the archive and the mail forwarding. |
$0 a month, or $4 a month if we buy the single Exchange seat as insurance. Every preservation path (static archive, shared mailboxes, mail forwarding, plugin lapse, backup exports) is free. That is the whole answer to the question.
| Service | What it is | Plan | $/mo |
|---|---|---|---|
| app.immigr8.net (web + worker) | The product and evaluation pipeline | Starter ×2 | $14 |
| staging.immigr8.net (web + worker) | Full staging mirror, Sandy's UAT home | Starter ×2 | $14 |
| hq.immigr8.net | Internal operations platform | Starter | $7 |
| Databases ×4 (prod, staging, HQ, Educ8Ed) | PostgreSQL | Basic 256MB ×4 | $24 |
| Educ8Ed app (prod + free staging) | app.educ8ed.net PD platform preview | Starter + Free | $7 |
| Static sites (landing, dev hub, clients, rollback spare) | — | Free | $0 |
| Cloudflare (Workers Paid share, R2, OCR container) | Transcript storage and the OCR reader; scale-to-zero, so about $0 idle by design | usage | ≈ $5–8 |
| Total new stack, including Educ8Ed | ≈ $71–75 | ||
Core Immigr8 alone, without Educ8Ed's $13, is about $58–62/mo. The OCR container deliberately carries no keep-warm spend (cost ADR, 2026-07-08).
| Vendor | What it still does | Cost | Renewal | Call |
|---|---|---|---|---|
| Kinsta | Hosts the old WordPress site at the apex. Note: the canonical privacy, terms, and subprocessors pages live here today, so content parity on the new landing is a pre-cutover requirement (IMMIGR8-277). | ~$35/mo verify plan | Monthly (typical) | Archive at cutover |
| Microsoft 365 (GoDaddy-resold, "NETORGFT…" tenant) | Mailboxes have no purpose; email fully migrated to Google Workspace (IMMIGR8-30). The tenant hosts the district-facing SSO app registration and must survive. That part is free. | ~$6–12.50/seat/mo verify seats | GoDaddy subscription cycle | Licenses retirable now |
| WordPress plugins (Oxygen, JetEngine) | Page building and forms on the old site. Oxygen is a paid-once lifetime license; JetEngine renews annually. | ~$6/mo amortized verify licenses | JetEngine renews on its anniversary | Lapse JetEngine |
| GoDaddy domains (Sandy's account) | immigr8.net · educ8ed.net · educ8ed.org | ~$20–25/yr each | educ8ed.net 2026-11-04 · educ8ed.org 2026-11-05 · immigr8.net 2027-05-19, all auto-renew on (API-verified) | Keep |
| Google Workspace (immigr8.net) | The real email and docs | ~$22/mo verify tier | Ongoing | Keep |
Sources: Render and GoDaddy APIs (2026-07-09) · kinsta.com/plans · Microsoft Exchange Online pricing · learn.microsoft.com (Entra ID Free, shared mailboxes) · oxygenbuilder.com/pricing · Crocoblock knowledge base · Cloudflare (Pages, Email Routing). Full detail with citations: docs/research/2026-07-09-migration-cost-analysis.md.
Our Microsoft tenant is GoDaddy-resold. Field reports from Microsoft partners say that cancelling the Microsoft subscription at GoDaddy while GoDaddy still holds delegated-admin rights triggers a script that deletes all users and removes the primary domain, which would take down the tenant hosting the district SSO app registration.
The safe order: remove GoDaddy as delegated admin and delete the Partner Center enterprise app in Entra first, confirm the tenant stands alone, then cancel the GoDaddy subscription. Users need password resets after defederation. Replacement licenses, if any, get bought Microsoft-direct or through a CSP, never through GoDaddy.
This mechanism comes from partner field guides rather than Microsoft's own documentation, so treat it as a verify-with-a-professional step, not a click to improvise. It is the single highest-risk action in the whole migration.