Saaspocalypse
The migration playbook

From rented SaaS to owned software, in seven phases.

A low-risk, fixed-price path with real deliverables at every step. We run your old SaaS in parallel until you're confident — then you own everything. No T&M, no day-rate surprises, no vendor lock-in.

Fixed priceWeekly demosParallel run before cutoverYou own the code
  1. Discovery workshop

    1–2 weeks

    We sit with your sales, ops and engineering leads and turn the SaaS you're paying for into a list of the workflows you actually run. Most teams discover they use 10–20% of what they're billed for.

    Shadow real users on real tasks (Zoom + screen share)
    Pull a 90-day usage report from your current SaaS (logins, features touched, integrations called)
    Map the data model: tables, custom fields, what's actually populated
    Identify the 'shelfware' — features you pay for and nobody uses
    Surface the integrations and exports your team depends on
    Document the security, compliance and audit constraints
    You walk away with

    A 6–10 page Usage & Scope Audit naming every workflow that stays, every feature that goes, and the cost line each one currently lives on.

  2. Scope + fixed-price quote

    1 week

    We turn the audit into a fixed-price scope. No T&M, no scope creep, no day-rate surprises. You see the build cost, the annual maintenance, and a 3-year and 5-year savings projection before signing anything.

    Translate workflows into a feature list with effort estimates
    Pick the stack (Next.js, Postgres, Inngest, Resend — boring on purpose)
    Model the savings against your current SaaS contract + projected growth
    Lock the in-scope and out-of-scope features in writing
    Decide what gets migrated, what gets archived, what gets dropped
    You walk away with

    A signed Statement of Work with a fixed price, a delivery timeline, and a 5-year TCO comparison vs your current SaaS contract.

  3. Architecture + DPA

    1 week

    Before we write feature code we get the foundations right. Hosting region, data ownership, encryption, RBAC and the GDPR posture are documented and agreed — the same artefacts we'd hand your auditor on day one.

    Decide hosting region (UK or EU — your call)
    Provision Postgres (Neon or AWS RDS), Vercel project, S3 / R2 bucket
    Set up SSO (Google / Microsoft) with WebAuthn 2FA
    Wire observability: Sentry, log aggregation, audit table
    Sign the DPA and the sub-processor list
    Run a threat-model session against the in-scope data
    You walk away with

    An Architecture Decision Record + a signed Data Processing Agreement + a security questionnaire ready to send to your CISO or auditor.

  4. Build with weekly demos

    4–12 weeks (scope-dependent)

    We ship working software every week and demo it on a Friday call. Your team uses it, breaks it, gives feedback. By the end you've used the product more than you'd used the SaaS we're replacing.

    Weekly demo + retro — every Friday, 30 minutes
    Continuous deploys to a staging environment your team logs into
    Issue tracker is shared — you see the burn-down in real time
    Code review pairs with one of your engineers if you want a knowledge-transfer path
    Pen-test fixtures built in from day one (gitleaks, Dependabot, OWASP ASVS L2 checks)
    You walk away with

    A production-grade application running on your own infrastructure, with you as the GitHub owner. No 'agency owns the code' nonsense.

  5. Data migration + parallel run

    2–4 weeks

    We extract your historical data from the SaaS, map it into the new schema, and run both systems side-by-side. Your team works in the new product; the old SaaS stays live as a read-only fallback for a defined window.

    Build extract scripts against the SaaS API (we keep them — they're useful again at renewal)
    Map foreign keys and IDs so historical search keeps working
    Backfill audit trails so 'who changed what when' is preserved
    Daily reconciliation reports compare old and new during the parallel run
    Train your team in two 60-minute sessions, recorded for the rest
    You walk away with

    A Migration Runbook (rerunnable), a reconciliation dashboard, and a signed sign-off from each team that the new system is the system of record.

  6. Cutover

    1 day

    On the day, DNS flips, SSO redirects, the SaaS goes read-only. We sit on a war-room call with your ops lead. Most cutovers are anti-climactic — which is the point.

    DNS + SSO cutover with a 5-minute window of dual-write
    Run smoke tests against every critical workflow
    Notify all users via Slack + email with the new login link
    Lock the SaaS to read-only — kept for 90 days as a safety net
    Cancel auto-renewal on the SaaS contract (a quiet pleasure)
    You walk away with

    A Cutover Runbook + a Day-1 Status Report showing every workflow green. The SaaS stays read-only for 90 days, no longer charging full seat price.

  7. Operate, evolve, own

    Ongoing

    We host it, monitor it, fix it. You own the code, the data and the keys. New features ship as PRs your team reviews; SLAs are real numbers in a contract; renewal increases are zero, forever.

    24/7 uptime monitoring with a public status page
    Quarterly architecture review + a 6-month roadmap conversation
    RPO ≤ 5 minutes, RTO ≤ 4 hours; DR tested twice a year
    Annual third-party pen test, findings shared
    Dependabot CVE triage in 72 hours; criticals in 24
    You walk away with

    A flat-fee SLA with a named on-call engineer, a quarterly product roadmap, and zero per-seat tax forever. The contract is exit-friendly: you own the code, your repo, your infra, your keys.

What it looks like in practice

Here's how the playbook played out for a real-shaped client. Same seven phases, scoped to their actual SaaS bill.

FintechFrance

Cutting a Paris fintech off the Salesforce treadmill

120-person B2B payments fintech, Paris

Illustrative
≈ £180k saved over 3 years · paid back in 11 months · no admin queue
1The problem

Sales, success and finance all lived in Salesforce Enterprise. New seats triggered Process Builder rework every quarter, and the only certified admin had a 6-week ticket queue. Reps were exporting to spreadsheets to do work the CRM was supposed to do.

2What they overpaid

60 Sales Cloud Enterprise seats at $165/user/month plus Sales Engagement add-on and a part-time external admin: roughly €200k all-in. The 6% August list-price rise had already added €11k to the renewal quote on the table.

3What they didn't use
  • Most of Sales Cloud's 'editions' features (Forecasting, Territories, CPQ)
  • Einstein activity-capture — turned off after compliance review
  • Salesforce Inbox / Outlook integration (reps used Gmail directly)
  • Most validation rules and approval flows — silently bypassed by reps
  • Tableau dashboards bundled with the renewal
4The solution

An eight-week build: a leads + opportunities + accounts schema in Postgres, a Kanban pipeline with three named stages, Gmail sync via Google Workspace API, and six fixed dashboards their CRO actually opens. RBAC is three roles, defined in code. We ran Salesforce read-only for 30 days; the team voted to kill it after week two.

5The result

≈ £180k saved over 3 years · paid back in 11 months · no admin queue

Common questions

Isn't building software more expensive than just paying for SaaS?+

Up front, yes. But SaaS bills you every year, forever, and the price only goes up. A bespoke rebuild is a one-time cost plus a flat maintenance fee — most clients break even within 12 months and save six figures over three years.

What happens if your agency disappears?+

You own 100% of the code and data. We hand over the repository, infrastructure and documentation. You're never locked in — the opposite of SaaS.

How long does a rebuild take?+

Most focused rebuilds ship a usable v1 in 6–10 weeks. We run your old SaaS in parallel until you're ready to switch.

Do you only rebuild the SaaS on these pages?+

No — those are just common examples. If you're overpaying for any SaaS, we can scope a rebuild. Run the calculator and book a call.

Rather just talk to a human?

Send a few sentences about the SaaS that's costing you the most and we'll come back within a business day with a rough scope.

Start the conversation

No pitch deck. One business day.