A security fix lands in a package whose next version needs Vue 3. You either stay on the old version or patch it yourself.
Service·Vue 2 → Vue 3·Live apps, no feature freeze
Vue 2 reached end of life on December 31, 2023, so it no longer gets security fixes. If your product still runs on it, every dependency update gets harder. Our senior engineers inventory your app, plan the order of work and move it to Vue 3 in small pull requests, while your team keeps shipping features.
When teams call us
A security fix lands in a package whose next version needs Vue 3. You either stay on the old version or patch it yourself.
Vuetify 2, Element UI and BootstrapVue apps need a new major version or a different library. That is often the biggest share of the work.
Filters, the $on event bus, Vue.extend and plugins that write to Vue.prototype all have to change. In an older codebase they hide in every corner.
Someone fixed the first hundred errors on a branch, then main moved on without it. Now the branch is months behind and nobody wants to merge it.
Engineers who join today learned Vue 3 and the Composition API. Every Vue 2-only pattern is something you have to teach them.
Vue CLI and webpack 4 setups are slow to build and hard to upgrade. Moving to Vite usually belongs in the same project.
How we work
We read the repository before we promise anything. Every dependency gets a status, every removed Vue 2 API gets counted, and we note where tests are missing on critical flows.
We pick the path that fits your app: in place with the migration build, a Vue 2.7 stepping stone, or one app or section at a time. The plan sets the order of work and how each step can be rolled back.
Much of the work can land before the switch. We remove filters and the event bus, move to Vite and swap blockers while the app still runs on Vue 2, so the version change itself stays small.
We move to Vue 3, using @vue/compat where it helps, and work through the compatibility warnings until the migration build can come out. UI library upgrades happen here or just before.
We check the critical flows before each release and ship in stages you control. At the end your team gets a walkthrough of what changed and why.
Deliverables
Every package with its Vue 3 status: upgrade, replace or remove, and the version you end up on.
The order of work, the risks, what can ship on Vue 2 first, and how each stage rolls back.
Reviewable PRs in your Git host, following your branching and review rules. No code dump at the end.
Which migration build warnings remain at each stage, so progress is visible and the compat build can be removed.
The flows we checked before each release, written down so your team can repeat them.
Decision records for the choices we made, such as Pinia or Vuex 4, and which UI library replaced which.
Engagement and price
Monthly billing at a flat rate. No onboarding fees, no minimum commitment, and you can pause or cancel anytime. Our hours overlap with US and EU time zones.
Migration help next to your team. We take the blockers and the risky parts, and your developers keep shipping features.
One senior engineer owns the migration end to end, from the inventory to removing the compat build.
For large apps or several apps at once, so the migration and your roadmap move in parallel.
Vue 2 → Vue 3 migration planning on its own: the inventory and plan, which your team then carries out.
Relevant work

Our first job for Craft Music was moving their live site from Nuxt 2.15 to Nuxt 3.10, which also meant Vue 2 to Vue 3, with pre-rendering and SEO still working afterwards.
Read the case study
Pengine moved from Vue 3 + Vite apps to Nuxt one app at a time, with both generations running side by side so users kept working.
Read the case studyHonest fit
We'd rather tell you now than sell you the wrong engagement.
FAQ
It depends on the size of the app, how many dependencies have no Vue 3 version and how much is covered by tests. A small, well-tested app can take weeks. A large product with an old UI library can take months. We give you a range after the inventory, based on your code.
Yes, and we plan for it. Most preparation lands on Vue 2 in small pull requests, and the switch itself is kept short. Your team keeps working on main the whole time.
Often, yes. @vue/compat lets a Vue 3 app run most Vue 2 code while you fix the warnings one by one. It is a temporary tool, so we remove it at the end. Nuxt 3 cannot use it, so Nuxt 2 apps follow a different path.
Not at the same time. Vuex 4 works with Vue 3, and Pinia is the store the Vue team now recommends. We usually switch Vue first, then move stores to Pinia one module at a time.
Vue 2 reached end of life on December 31, 2023 and gets no more fixes from the Vue team. Your app will keep working, but each new security advisory in Vue 2 or its ecosystem becomes your problem to patch.
You pay a flat monthly rate for the engineers on it: $1,499 a month part-time or $2,499 full-time, or a custom price for a squad. The inventory tells you how many months to expect. We don't quote a fixed price before we've seen the code.
Get started
Tell us your Vue version, your UI library and roughly how big the app is. A senior engineer will reply with how we'd approach it and what to check first.
Matched in 24 hours·48 hours free on every plan·No long-term contract