Three stacks we ripped out in 2026: Webflow, Sanity, AWS
What broke, what we saved, what we'd do again. Three honest migration walkthroughs with hours and invoices attached.
Every studio has a graveyard of vendors. Ours filled up faster than most because we accepted projects with whatever stack they came with — and then watched the bill in year two. In 2026 we cleared three out: Webflow off a client marketing site, Sanity off our own product CMS, AWS off two production workloads. Here's what each cost and where we landed.
1. Webflow → custom PHP
The site was three years old. Six locales, a CMS the marketing team actually used, a custom interaction layer welded in. Webflow was charging €312/month for the workspace, climbing as locales were added. Editor experience: good. Developer experience: a Saturday job.
The breaking point wasn't price. It was the export. Webflow's HTML export was fine for static sites in 2017; in 2026 it choked on CMS bindings and dynamic embeds. The client wanted to push form submissions into HubSpot. That single integration would have meant migrating off Webflow's form handler anyway.
What we did: Lifted the design system as-is into a flat PHP stack. Cockpit CMS for editorial. Cloudflare for the CDN. No Next.js, no React, no build pipeline. Total LOC of our code: under 2000.
Hours: 84 (one senior + one mid, two-week sprint).
Switching cost saved by year two: ~€3,700.
What surprised us: The marketing team's editing speed went up. Cockpit's i18n model lets them duplicate a single field across locales in one click; Webflow's CMS made them edit each locale separately.
2. Sanity → Cockpit
This one stung more, because we'd written the Sanity schemas. We liked Sanity. The collaborative editing is genuinely good. GROQ is genuinely good. The 2026 pricing is genuinely not, if you're a B2B product with thousands of editor seats on the roadmap.
Sanity's free tier is generous for studios. Their paid tier is priced for VC-backed media companies. We didn't fit either box.
What we did: Migrated to self-hosted Cockpit v2 on a small VM. Wrote a one-shot script that hit Sanity's export endpoint, mapped block content to Cockpit's model, posted the result via Cockpit's REST API. Total migration time including QA: 11 hours.
Cost shift: €0/month vs ~€240/month projected at our seat count.
What we lost: Real-time collaborative editing. The team felt it for two weeks. After that, no one mentioned it again. We replaced the social anxiety of "is anyone else in this doc" with a simple lock-on-open pattern.
3. AWS → OVH
Not the whole stack. Two workloads: a marketing site behind CloudFront, and a small Node API behind ALB + EC2. Both billing ~€180/month combined. Both on AWS because someone three years ago typed cdk deploy and didn't think about it again.
AWS isn't expensive when you use it well. It's expensive when you use it as a default. CloudFront for a static site getting 40k visits/month is overkill priced as enterprise. EC2 for a Node API processing 200 requests/day is a rounding error of waste — but still waste.
What we did: Marketing site to OVH shared hosting + Cloudflare free tier. Node API rewritten as 90 lines of PHP on the same OVH plan.
Bill before: €178/month. After: €11/month.
What surprised us: The Node API had three dependencies on AWS SDK calls. All three replaced with built-in PHP, an OVH cron, and a config file. The rewrite was faster than the migration audit.
What we'd do again
- Start with the export. Before you commit to a vendor, write the script that gets your data out. If you can't write it in a day, you've signed a hostage agreement.
- Pay attention to year two. Year one of any SaaS is priced to land you. Year two is priced to keep you. Run that math at signature.
- "Shared hosting" is not "shame." 2026 cloud costs are 4–8× what equivalent shared hosting costs. For 80% of marketing sites, shared hosting isn't just adequate — it's correct.
What we wouldn't migrate
For balance: we did not migrate our analytics off PostHog, and we did not migrate our preview deployments off Vercel. The point isn't that everything is cheaper somewhere else. The point is that defaulting to a tier-1 cloud for everything because that's what conference talks said is how studios end up paying €18,000/year for infrastructure they could replace with €600.
Audit your stack annually. Migrate the one that hurts most. Repeat.