I led and built the full technical migration of my company's website from Wix to Framer in two and a half weeks. To hit that deadline, I also built a shared Claude Code setup with rules, skills and git automation, so two non-technical colleagues could plug in and rebuild pages alongside me.
The website of the B2B HealthTech company I work for moved from Wix to Framer seven weeks after the plan was approved, and two and a half weeks after the first page was built. On launch day, all 270 redirects landed on their exact target, and a crawl of 89 pages and 12,842 links found zero broken internal links.
The site launched with 34 page designs behind 89 published URLs, 7 interconnected CMS collections and 24 reusable components. It launched in English and now also runs in German and Spanish.
The bigger outcome was how it got built. I owned the whole technical side, and I designed a shared Claude Code project that let our Designer and a Marketing Product Manager plug in and rebuild pages with me, even though neither of them had worked with git or Claude Code before. The project grew to 779 commits in under three months.
The old Wix site had become hard to change. A small update could take an entire day, and the editor fought us at every step. Pages loaded slowly, we had no real access to custom code, and new components or animations were basically off the table. The team was frustrated, and the website was holding marketing back instead of supporting it.
Rebuilding the site was never the hard part for me. The problem was time. A migration of this size is a lot of work for one person, I was running other projects in parallel, and the deadline didn't move. I needed more hands, but the people available were a Designer with a finished design system and a colleague who knew the content inside out, not developers.
So the real question became: "how do I let two non-technical colleagues build real pages in a production codebase, at the same time as me, without breaking each other's work or lowering the quality bar?"
I built and owned every technical part of the migration: the project architecture, the page builds, the full CMS migration, all redirects, every meta title and description, filling in missing content, tracking and consent, QA and the launch itself.
My colleagues plugged into the system I built. They rebuilt pages in Framer, first from the live Wix pages and later from the new Figma designs, while the rules, checks and automation I set up made sure everything they shipped met the same standard as my own work.
I treated the team setup as part of the build, not as a side task.
I handled the entire CMS migration myself, and I didn't just copy it across. Wix stores rich text in its own JSON format, which Framer can't read, so I built an import pipeline that converts every post to clean HTML and writes it into Framer through its API, including images, links and formatting.
This is the heart of the project. Each of us worked in our own Claude Code session, on our own laptop, on our own schedule. Without shared rules, that's how you end up with three websites stitched together. So I wrote the rules once, in the project itself, and every session loads them automatically before anyone types a word.
The result: a page built by our Designer and a page built by me pass the same checks and look like one system, even though each of us built them separately.
Every check we kept repeating became a Claude skill, so quality didn't depend on who was building:
A migration can quietly break things that cost money. Before launch I rebuilt 270 redirects from the old Wix export, checked every Google Ads landing page against them (which caught one live ad pointing at a page that no longer existed), and fixed missing meta data on 10 of 22 static pages.
The most important catch was in tracking. On Wix, the platform's tag manager wrapper set the consent defaults for us. On Framer, those defaults would have been missing, so marketing tags would have fired without consent in GDPR regions. I moved Consent Mode into our consent tool before launch.
The project didn't stop at launch. Our content team writes in Notion, and copying every article into Framer by hand, then writing slugs, excerpts and meta data, was exactly the kind of slow manual work the migration was meant to end. So I built a setup where the team publishes blog articles from Notion to Framer without leaving Notion.
What used to be a manual copy, paste and format job per article is now a single status change in Notion and one review in Framer.
The website kept improving after launch too. The German site is content-complete, the Spanish site is close behind, and our HubSpot forms now load about 1.1 seconds faster on slow mobile connections, with no layout jumping while they load.
I've built websites for years, and this was the first time the website was the easy part. The highlight for me is what happened to the team. A Designer and a Marketing Product Manager went from never having used git or Claude Code to shipping production pages through Claude Code, and they loved it. It was an incredibly good collaboration, and they still tell me how much easier their work has become.
That was only possible because of the setup underneath: the laptops, the automation, the rules and the skills. It outlived the launch too. The same workspace is still how the site gets updated today, and my colleagues can now focus on what really matters: the creative work.