POLYWOOD left a custom Magento build that took most of the engineering time
A vendor case study of POLYWOOD moving from Magento to Shopify.
Read the case studyEach post is a case study. A team or person left one tool for another. We look at why, what they gained, what they hit, and the lesson you can reuse.
A vendor case study of POLYWOOD moving from Magento to Shopify.
Read the case studyBill Nalen moved four ShipFast domains off Mailgun in December 2023. Magic links stay on NextAuth. The mg subdomain goes away. In his write-up Resend does not forward replies, and each domain ends up with its own Resend account.
Read the case studyRob Pickering moved robpickering.com on 20 July 2010 with a per-journal Movable Type file. Posts imported as Published with dates, authors, and comments, while the images kept loading from Squarespace.
Read the case studyThe DEV team kept the app on Heroku and moved the primary database after more than eight years. Bucardo ran on a DigitalOcean droplet. Leftover triggers forced a restart, and pooling took a few days. They disclose a Neon sponsorship on the same post.
Read the case studyNaoki Ioroi at GiFT Inc. published the cutover on 5 August 2026. Firebase Hosting had been rewriting every request to Cloud Functions v2, with Remix assets copied by hand. The same post also moves Contentful to microCMS. This site has a hosting playbook and no microCMS one.
Read the case studyA guest guide on Strapi's blog says a price rise made the move unavoidable for hochzeitsplaza.de. About 2,000 entries and over 11 GB of assets took about 7 hours. The tool is the author's, and the page prints no euro figure.
Read the case studyCarl Myers describes Indeed's CI move from Hudson in 2007 to a Jenkins shutdown on 1 April 2024. About 11 platform engineers, tens of thousands of repos, and over 2,000 Jenkinsfiles still on the old system when the date was set. GitLab CI now runs over 25,000 pipelines a day.
Read the case studyAirbyte's 1 February 2026 case study quotes Kuda's head of BI on SQL Server CDC into BigQuery. Credits ran out mid-cycle. The cutover took under three weeks, and some tables needed 48 to 72 hours to backfill. No dollar amount is on the page.
Read the case studyDylan Jhaveri wrote two Sanity pages on the same day. The blog post says about 130 Ghost posts. The import guide says 128, over a couple of months. Ghost allowed one author. The new post type allows several, and the same people power the team page.
Read the case studyJohin describes a Next.js tool site, 139-plus pages and 20 API routes, moving off Vercel on 3 March 2026. The first Cloudflare deploy failed a 25 MB Worker limit. He also says the project uses the OpenNext adapter, which is a different runtime story from a pure static export.
Read the case studyTraba's engineering post walks a year of collection moves off Firestore onto Aiven Postgres with Prisma. Triggers plus reconciliation hit 99.99% precision in April. The shifts cutover flipped reads and writes together because replication lagged about a second. Firestore stayed for flags and cron.
Read the case studyShai Malul describes 10-plus micro-frontends, each with its own Sentry, moving frontend logs to Datadog RUM in the shell app. A module-federation SDK did not fit. About 200 logging calls in each of 5-plus repos were rewritten with JSCodeshift. Sentry is not described as uninstalled.
Read the case studyAlex Strick van Linschoten moved zenml.io off Webflow in the February 2026 Claude Code hackathon. The page counts 2,224 generated pages, 2,151 crawled URLs, and 2,255 built HTML files as different sets. A five-day Webflow cache header kept the old site up after DNS moved.
Read the case studyA few Angular SSR apps moved from Heroku to Vercel in November 2022, the week free dynos ended. The published change wraps the Angular server build in one Vercel function. One build error cleared after Node was set to 14x. The post does not move a database.
Read the case studyBack Market's data already lived in BigQuery. The 2025 Google Cloud case study turned off Snowflake and Databricks and moved the wider stack off AWS. Earlier engineering posts show the Delta Lake landing, the Tableau check, and a later query-cost spike. The 90% figure is their CDC pipeline.
Read the case studyNuance moved Frump Fighters off Zapier in 2021. Corina got more than $400 back on the yearly plan. The $5 a month line is Nuance's server pitch, not her bill. The page never lists the zaps.
Read the case studyIngewikkeld moved from Slack to Mattermost on Nexaa in early 2025. Users and channels imported. A decade of messages hit an upload limit and stayed in an offline archive. The server is a 1 CPU, 2 GB Team Edition container on MySQL.
Read the case studyMicrosoft's CAP group moved repos to GitHub over six months and left Azure Boards and Pipelines in place. The same post says both 80% of in-scope repos and 70% of active in-scope repos. Enterprise Live Migrator is the tool they expect for the mono repos still left.
Read the case studySlack told MidHard Games on 19 December 2025 that the workspace would be suspended in 30 days. They exported with slackdump, imported into Mattermost on Yandex Cloud, and kept Slack for some partners. Their price table is rounded, and the license limits need Mattermost's own pages next to them.
Read the case studyNovu moved DNS from Route 53 to Cloudflare on 23 March 2025. The outage ran 22:00 to 22:55 UTC for every user. Lower TTLs and cache flushes did not stop stale nameservers or negative caching. The postmortem gives no record count and no TTL values.
Read the case studyOutschool imported GitHub into GitLab in 2022, then mirrored merge requests back so GitHub Actions and Heroku review apps kept running. A few senior engineers finished the GitLab move and the Heroku-to-Fargate move together in under three months. Traffic shifted on a Cloudflare load balancer over a few days.
Read the case studyPulumi's Starburst case study quotes a two-week Terraform deploy and "about three hours a day" after. The same page also says three hours flat, 112x, and a 99% cut. A 2023 Pulumi blog about the same engineer says 3x and a few minutes. Those are different sentences.
Read the case studyTwo personal domains left Route 53 for Cloudflare DNS on 13 January 2025. The bill was about 12 euros a year. The cutover took about 45 minutes, and Ansible then left stale records behind. A later post shows the tunnel and DNS-01 setup still in place.
Read the case studyCandost left Ghost Pro for Substack so he could stop designing the site. Substack subscribed every address to every section, and his essay does not walk the importer.
Read the case studyOn 19 June 2022 Ran Mochary described a Datadog webhook bridge into Sentry. Urgent pages stayed on OpsGenie. A 10-minute beacon pages if the bridge goes quiet.
Read the case studyOn 25 October 2025 Andy Betts wrote that Plasma's Ocean design system is leaving Figma for Penpot. Variants landed. The UI is not in Plasma yet, and the file still sits in a personal GitLab repo.
Read the case studyKsolves says an unnamed publisher cut search cost by 80% with self-hosted Typesense on AWS. The page is a consultancy case study, and the cluster is not Typesense Cloud.
Read the case studyOn 3 January 2023 David J Eddy imported 1,000-plus LastPass items into Bitwarden in a few minutes. PGP notes were too long for a password item, and folders could not become nested groups.
Read the case studyNeal Kaviratna and Austin Pray moved the Mixpanel engineering blog to Substack on 16 May 2025. The public post is a few paragraphs, and the old Medium URLs stay up.
Read the case studyCharlie Greenman says Razroo moved off Pinecone on 4 April 2025. Qdrant filters replaced namespaces, string ids became UUIDs, and the speed claims are Razroo's.
Read the case studyRevelry's Elixir app already had a module per vector database. On 20 March 2024 they copied thousands of Pinecone vectors to Qdrant in batches of 100, and they still support both.
Read the case studyMichael Mikuš measured SendGrid, Postmark, and Resend with GlockApps, then moved Spotflow's Auth0 verification mail to Resend. A template rewrite removed a four-minute Gmail delay that the provider swap did not.
Read the case studyIn December 2020, jfx wrote that SteamLevels outgrew Mailgun and a SendGrid spam pool before landing on Postmark. About 5,000 emails a month made a dedicated IP the wrong fix.
Read the case studyOn 10 November 2023 the write-up said operations were moving from Airtable to Notion. The $450 a year is four tools together. This post has the reasons, and it does not have the field map.
Read the case studyJaehong Jung moved Channel.io's CI from CircleCI to GitHub Actions on ARC. Self-hosted runners cut CI cost to about a third. Karpenter, Docker Hub limits, and GitHub's cache cap showed up in production.
Read the case studyGoogle Analytics was replaced with a self-hosted Matomo install that skips cookies and honors Do Not Track. A one-month overlap showed Matomo pageviews about 11 percent lower.
Read the case studyOn 20 January 2022 a blog replaced Google Analytics with Matomo and MariaDB in Docker. The snag was container networking. The write-up mentions a GA import and does not describe running one.
Read the case studyBuzz Usborne rebuilt Help Scout's Sketch libraries in Figma in a week. Nested symbols did not import cleanly, so he traced them. In-flight projects stayed in Sketch.
Read the case studyDan Wolchonok's January 2018 post traces HubSpot from Mixpanel in 2013, to an internal product-analytics tool, to Amplitude. About 250 to 300 people a month used Amplitude after the 2017 cutover. He does not describe an event export.
Read the case studyJohn Kavanagh moved IMG Licensing from Contentful to Sanity in the same week he published, after the next Contentful plan crossed $300 a month. The front end was already on Next.js. He does not publish the import log.
Read the case studyKiko Ando wrote up Mercari's Confluence to Notion project on 31 March 2026. The import was never perfect. Finance docs stayed out, and leftover pages are heading for a closed-stack archive.
Read the case studyFive Semrush designers rebuilt the Sketch libraries in Figma between 19 March and 24 April 2020, alongside their normal work. Google Drive duplicates and Zeplin were the pain. Nested symbols were rebuilt.
Read the case studyAlegria.group says it moved more than 4,500 Confluence pages and 10 GB into Notion for The Fork in two weeks. The page is an agency case study. It names no Fork employee and lists no broken import.
Read the case studyBram Wiepjes moved primary development in November 2025. Rebuilding CI was the long job. Issues and open merge requests went over with a modified node-gitlab-2-github. GitLab stayed a read-only mirror.
Read the case studySelf-hosted GitLab since 2018. Part 1 is the CI pain. Part 2 is dual CI, a tool called Octomigrator, and a mirror that lagged up to 15 minutes.
Read the case studyThe move was published on 7 March 2023. The import is the official desktop path. The credit depended on a payment-history PDF and a helper bot whose URL now 404s.
Read the case studyPlanetScale retired the Hobby plan on 8 April 2024. This 2024 write-up on mostviertel.tech uses pgloader, quote identifiers for Prisma names, and a baseline because PlanetScale migrations would not export.
Read the case studyOn 25 April 2025 he exported the workspace to HTML and ran Obsidian Importer. Large databases needed hand edits. Dataview lost to the Tasks plugin. The vault is the website repo, synced with Syncthing.
Read the case studyNotion went from $8 to $12 a month. Obsidian Sync was $4. He had tried twice before. The third try took a month, thousands of documents, and a written-off clipper archive.
Read the case studyThe switch was 1 January 2025, after Notion since 2018. The Importer kept the Notion tree and left the pictures in one folder. Cleanup took a couple of months.
Read the case studyFrederik Denkens says the license change from Terraform 1.6.0 pushed the move. By the end of May 2024 the company was on OpenTofu 1.6.2. The post names the phases and skips the state file.
Read the case studyMatt Velez wrote this as a guest post on Spacelift's blog. More than 700 stacks climbed Terraform 1.5.5, then OpenTofu 1.6.2, then 1.9.0. An S3 backend key built from locals makes Terraform init fail on purpose.
Read the case studyThe 4 November 2024 post quotes a Gumroad email about PayPal. Buyers keep old files on Gumroad. Lemon Squeezy's docs can import products, customers, and license keys, and they say subscriptions do not move.
Read the case studyJustin Duke announced the internal move on 30 October 2024. A 9 January 2025 stack note confirms Linear replaced GitHub Issues. Notable roadmap items stay on GitHub and sync into Linear. He never describes the importer.
Read the case studyJustin Duke's 9 January 2025 stack note. Better Stack, already their logging tool, replaced PagerDuty and Statuspage for alerting. The page is one sentence on that cutover, and it warns that the list may be stale.
Read the case studyCodePen Radio 351, 20 January 2022. Alex Vazquez and Chris Coyier describe a move to PostgreSQL 13.3 with about a minute of read-only mode. AWS DMS kept MySQL and PostgreSQL in sync. Elasticsearch was a reason, not a finished removal.
Read the case studyA Think RevOps interview with Oliver Durham-Winch, Coyote's global head of sales. OKRs came first. Then HubSpot CRM data moved to Salesforce, with HubSpot, Intercom, and Productboard connected. The 3 to 4 hours is his line.
Read the case studyA 16 June 2024 post, updated 10 June 2026. Technical notes moved to local Markdown, synced with the Obsidian Git plugin to a private GitHub repo. The page says to migrate only what you need, and it skips the exporter.
Read the case studyModelit's 2023 case study. An unnamed North American cybersecurity company left HubSpot's free CRM for Salesforce and kept Marketing Hub. Export limits and different tables drove the manual work. No record counts or dollar figures.
Read the case studyNylas published the move on 22 July 2020. A few weeks later, pull-request tests were 30% faster and some weeks had zero build failures. The title calls that a deployment-time cut.
Read the case studyEmmanuel Zerefa's December 2024 intern post covers 242 pipelines on three Jenkins instances. The importer fully converted about half. The 1,300 hours saved is a model, not a finished measurement.
Read the case studyKarl-Sander Erss, 28 September 2023. Teamdash left MySQL on Amazon RDS because vector search was missing. nmig moved about 200 databases in a four-hour window. Boolean columns mis-typed as integers showed up in production.
Read the case studyPostHog's 2 April 2025 interview with Zealot CTO Brandon Jakobson. They ran both analytics tools, then deleted Amplitude and BugSnag in one pull request. No historical import is described.
Read the case studySydney Cohen moved a Node backend in two days. DNS took about 15 minutes on a Saturday. NODE_ENV stayed on Staging for a day, and EasyCron plus leftover Heroku jobs pinged users twice. The $560 versus $65 table is his forecast against the new bill.
Read the case studyThe balenaOS team moved build, test, and deploy off a plugin-heavy Jenkins. Hardware-in-the-loop tests now take about one third of the time. External contributors can read the logs. This is a first-party post from 30 January 2025.
Read the case studyBrian's team left Bitbucket for GitHub. The git remotes moved. SonarQube Cloud stayed on the old workspace until a GitHub owner rebound the org and every project.
Read the case studySarah Yeung's team tried Trello's CSV and four other exporters. Comments, attachments, and subtasks stayed behind. Unito would not import history. Altosio came through with gaps.
Read the case studyPaul Dean's booking product saw Hotmail, Live, and Outlook rejects from SendGrid shared IPs. Less than 2% of mail failed. Detection to Postmark took under 48 hours. This post is thin on DNS.
Read the case studyDaniel Holz wrote the why in June 2022. p95 deploys dropped from 25 minutes to 16. Test-infra spend fell about 90%. Part 2, the how, was never published. A later Dev Platform post confirms the move stuck.
Read the case studyAfter the LastPass breach, a CSV backup rendered most passwords in the browser. 1Password imported categories as tags in 25 minutes, then asked for the LastPass email, password, and 2FA.
Read the case studyAfter the 2022 breach he moved a decade of LastPass folders into 1Password vaults and tags. Archive and family sharing got better. Notes search, outside-family shares, and form-data save did not come with him.
Read the case studyA Circle consultant who has moved dozens of clients says Mighty Networks member data exports cleanly, courses need rebuilding, and a thorough move takes two to three weeks. This is a consultant summary, not one named company's dump.
Read the case studyA Teachable course was moving to WordPress. Shared IPs failed twice. Cloudflare DNS plus WP Mail SMTP landed on Postmark the same day. About 300 to 400 signups a day could not wait for a warmup.
Read the case studyHe exported a BIND zone, dropped SOA and NS, and watched Route 53 reject the apex CNAME. Registrar transfer and a leftover DNSSEC key were the rest of the DNS move.
Read the case studyDataArt moved an unnamed trading-indicators product off Chargebee. Customers and live subscription state went to Stripe. PayPal and Coinbase needed a custom checkout. This is a vendor case study.
Read the case studyHelp Desk Migration published a Freshdesk-to-Zendesk PDF for Dovetail Games. Tickets, contacts, and articles are listed as moved. A separate help-center write-up shows why article HTML is a different job. This is a vendor case study.
Read the case studyevernote-backup plus Obsidian Importer moved 28 notebooks. MFA needed OAuth. A rate limit paused the sync for half an hour. A 3,000-note notebook broke the desktop export.
Read the case studyHe moved a product off Firestore after lock-in and read costs started to hurt. The SDKs looked familiar. Auth still needed resets or a lazy migration, and Storage needed a custom script.
Read the case studyAndy38's team moved support off Intercom. Ticket history can travel. Native snooze does not, and deferred work sat in the open queue.
Read the case studyPaola Cedeno's team left DocuSign for Dropbox Sign so MOUs, RFPs, and W-9s could be templates with reminders. The Dropbox story does not describe a historical envelope import. This is a vendor case study.
Read the case studyPeter Quiel left Evernote after the Linux client died. Official ENEX import capped out at 50 or 100 notes. He wrote an exporter, then used Obsidian's Importer.
Read the case study週休3日サラリーマン used Notion's Evernote importer on a text-only vault. Five minutes of clicks, about ten minutes of waiting. Empty lines disappeared. Do not copy this timing onto attachments or huge notebooks.
Read the case studyShe copied Business 101 onto Kajabi by hand. Teachable hosted the course. Kajabi won on pages, live chat, and later email and the site. This is a first-person affiliate post from 2019.
Read the case studyAlex Schulze moved 4ocean back to Shopify after a BigCommerce migration cost organic traffic and turned everyday merchandising into custom work. The public write-up is a Shopify case study.
Read the case studyShareGate's parent used its own tool to move Barley off Google after the acquisition. Files took two hours and mail about three, after days of mapping. This is a vendor case study of the vendor's own product.
Read the case studyLucy Colgrave moved a London fashion store off a slow WordPress and WooCommerce stack. Swanky rebuilt it on Shopify Plus. Page load and bounce improved in the first weeks. This is an agency case study from 2019.
Read the case studySupportYourApp moved Community Sauna Baths off Zendesk onto Intercom and rebuilt inboxes, automations, and a chatbot. The 97% faster-response claim is the vendor's. This is an implementer case study.
Read the case studyIgnacio Nieto Carvajal left Google Workspace for Zoho Workplace to cut a pay-per-user bill. He says Zoho is worse and still worth it. The post is about cost, not the mailbox copy.
Read the case studyMo Alhabal moved Digital Era Hub from Google Workspace to Zoho Workplace in about ten days. Shared Drive permissions dropped. Calendar free/busy surprised him. YouTube and Business Profile needed a week-long wait.
Read the case studyProductQuant audited four years of Mixpanel data for an unnamed healthcare forms platform, excluded events with patient identifiers, and used PostHog's managed import. This is a consultant case study.
Read the case studyA 16-person Mongolia newsroom left Mailchimp for Beehiiv after send volume pushed them into extra costs. The public write-up is a vendor case study. It says little about the actual import.
Read the case studyNorthern moved National Mattress from Mailchimp to Klaviyo after a two-year sending gap. The list came over. The sending reputation did not. This is an agency case study.
Read the case studyJay Earley moved a restaurant-supply catalog off Shopify because one company could not have many buyers. Access Solutions rebuilt the store on BigCommerce B2B Edition in four months. This is a vendor case study.
Read the case studyGavin Wade copied CloudSpot's galleries from Amazon S3 to Backblaze B2 with Flexify.IO. The public write-up is a vendor case study. New uploads stayed on S3 until a one-day catch-up.
Read the case studyJames Ross copied game save-states from Amazon S3 to Backblaze B2 with Python, shell, and the two APIs. The public write-up is a vendor case study. Cloudflare stayed in front, which is where the egress saving came from.
Read the case study2022 finished on QuickBooks Online. Xero went live on 1 January 2023, and QBO stayed for a month. Bank rules cut three-account reconciliation from hours to about five minutes.
Read the case studyHe connected the Eleventy repo to Cloudflare Pages in minutes, then spent hours rebuilding Critical CSS, Plausible snippets, headers, and redirects that lived in the Netlify dashboard.
Read the case studyA working Astro site left Netlify over per-GitHub-user pricing, then left Vercel four months later when per-seat cost showed up there too.
Read the case studyOlly Headey copied Pagecord off S3 with Super Slurper, turned on incremental fetch for new objects, and pointed Active Storage at an R2 endpoint plus storage.pagecord.com.
Read the case studyHe streamed JawsDB MySQL into Railway in 20 to 30 minutes, pointed Rails at MYSQL_URL, and treated the 70 percent cut as a side-project number, not a production forecast.
Read the case studyHe followed Cloudflare's Netlify guide, pinned HUGO_VERSION, and swapped Netlify's $URL for $CF_PAGES_URL. The speed he felt came mostly from caching fonts, not from the host swap.
Read the case studySaarza's own blog says schemaless MongoDB left orphaned invoices on their SaaS platforms. They moved to PostgreSQL and Drizzle so foreign keys could reject a delete that still had children.
Read the case studyHe dual-ran Plausible next to Google Analytics on freshman.tech. Page views came in 30 to 40 percent higher, which he blamed on ad blockers hitting the GA script.
Read the case studyAfter Heroku killed the free tier, a Vapor app moved to Fly.io, fly.toml was rebuilt, and the Heroku Redis cache was replaced only later.
Read the case studyJF Martin left Google Analytics on two blogs after a 30-day Plausible trial, paid $4 a month, and cancelled the Databox dashboards that sat on top of GA.
Read the case studyAlan Pope gave users a month's notice, then shut Slack. Discord's member count passed Slack in two months. This is Axiom's own post, not a vendor page.
Read the case studyJohn Mazotis moved Corsearch off Microsoft onto Google Workspace and Slack in three months. Copying files was easy. Teaching people to leave channels was the hard part.
Read the case studyBITSUMMIT says it moved 500-plus people, 200-plus channels, and about 1 TB off Slack in two weeks. This is a vendor case study. Microsoft's own tool still skips DMs.
Read the case studyShe left ActiveCampaign Lite after a $28 monthly hike, used ConvertKit's free migration team, and said the switch saved $56 a month versus the new ActiveCampaign bill.
Read the case studyHe pasted Medium's HTML export into Ghost on AWS Lightsail, rehosted the images, and flipped DNS after testing one Cloudflare bulk redirect.
Read the case studyHe exported Ghost, converted posts to Markdown, rebuilt the site in Astro and Tailwind, and shipped it to Cloudflare Pages. Redirects took more time than the export.
Read the case studyHe tried a full WordPress import, then left the old site live. New writing lives on Ghost Pro as Studio6 at nevillehobson.io.
Read the case studyHe kept a wget copy of the live site, exported Markdown with Jekyll Exporter, and rebuilt the blog as static Astro on Azure's free tier. The exporter needed cleanup, and plugin features had to be rewritten.
Read the case studyA server move felt like too much work for a mostly static site. He converted hundreds of posts and pages to repo Markdown, kept the old URLs, and cached HTML at Cloudflare.
Read the case studyPete Zalewski moved 600+ people from a maxed-out Jira instance to Linear in just over a month. The public write-up is a vendor case study. They imported history and left custom fields behind.
Read the case studyRyan Park moved an eight-year Heroku estate onto Render. The public write-up is a vendor interview. Hard downtime was the MongoDB primary promotion in Oregon.
Read the case studyDave Infante took the paid list and most of a four-year archive. He left comments, some galleries, and more than 2,000 silent free addresses behind.
Read the case studyThey moved Amplify Respect onto Ghost Pro after a self-hosted detour, kept the custom domain, and left comments on Substack because those do not come across.
Read the case studyHe copied frequent notes and keepers by hand, moved the rest only when he needed them, and kept Evernote as a fallback until a later archive export.
Read the case studyRossen Stoyanchev imported 17,000 Jira issues into GitHub. Markup conversion hurt, and the import API emailed millions of people before GitHub support cut notifications off.
Read the case studyJoe Ashwell took UnwindHR offline for a weekend, rebuilt the data model in Postgres, and left Firebase after nested reads and lock-in started to hurt.
Read the case study