Vue development for teams that already chose Vue

We are not going to spend the first call persuading you to rewrite in React. If your team knows Vue, the cheapest good decision is usually to stay on it and fix what actually hurts.

Overview

Staying on Vue, deliberately

Vue is a mainstream framework with an official router, store and build tooling. The question is rarely Vue versus React — it is which one your team can maintain.

What Vue is good at, and why «rewrite it in React» is usually bad advice

The single-file component model keeps template, logic and styles together, which makes Vue unusually readable for teams that are not front-end specialists. Vue 3 added the Composition API and proper TypeScript support, so the ceiling is now the same as React's for most product work.

A rewrite from Vue to React costs months and buys hiring convenience, not user value. We take that trade seriously only when the team has genuinely turned over — otherwise the honest recommendation is to modernise the Vue you have.

When Vue is the right call

When your team already writes Vue, when the interface is large and internal, or when you need a front end that a back-end developer can also read. If you are starting fresh in a company that only hires React, choose React — the framework matters less than the people.

Signals your Vue codebase needs attention

  • the application is still on Vue 2, which no longer receives fixes;
  • a security advisory arrived for a library with no Vue 3 version;
  • state lives in Vuex, in props and in a few global objects at once;
  • components were copied rather than shared, so a change means five edits;
  • nobody has measured bundle size or Core Web Vitals in a year.
Signals a Vue codebase needs attention: still on Vue 2, unsupported libraries, scattered state and copied components

Price

From $7,990

Timeline

3 weeks to first release

Payment

50/50 by milestone

Pricing

What a project on this stack costs

Same packages as everywhere on the site — the stack does not change the price, the scope does.

Scoping Sprint

$4,490

Architecture, breakdown, risks and a fixed quote — credited in full against any package within 30 days

1 week

Launch-Ready

$18,900

Up to 6 flows, granular roles, 3+ integrations, tests and CI/CD

6–8 weeks

Hourly team

$28–55/hour

Open-ended work by role: mid, senior, tech lead, DevOps, QA, design

From 40 h/month

Dedicated team from three months: −10%. Agency partners from 320 hours a month: −15%. Full price list.

Comparison

Stay on Vue or rewrite in React

The question every Vue team is asked by someone. Here is the answer with numbers rather than fashion.

Criterion
Rewrite in ReactModernise the Vue you have
Stay on VueRewrite in React
User-visible benefit
None on day one
Faster, safer, cheaper to change
Cost
Months of full-team work
Weeks, incremental, shippable
Risk to the product
A parallel implementation and a cutover
Low: component by component
Hiring
Easier afterwards
Slightly harder, and honestly so
Existing team
Learns a new stack mid-project
Keeps being productive
When it wins
The Vue team has genuinely left the company
Almost every other case
Scope

What we build with it

Where this stack earns its place in a project, and what we would use instead if it did not.

Product interfaces on Vue 3

Composition API, typed stores and a component library your team can extend without archaeology.

Vue 2 to Vue 3 migration

Incrementally, component by component, with the application shipping throughout.

Nuxt for the public side

Server rendering and routing where the pages have to be found and load fast.

Front ends over an existing back end

Vue on top of a system you already run — see API and integration.

Fit

When it is the right call — and when it is not

The best stack is usually the one your team can maintain after we leave.

Right for

Teams already invested in Vue, products with a large internal interface, and companies that want the front end to stay boring and maintainable.

Not right for

A greenfield product in a company with no Vue people and a React hiring plan: pick the stack you can staff, and we will say so.

Rates

$28–55/hour by role

Fixed builds

From $7,990

Discounts

Dedicated −10% · partners −15%

How we work

Vue 2 reached end of life. That is a security decision, not a taste one

The part that is specific to this stack rather than true of every project.

Vue 2 stopped receiving updates at the end of 2023. Applications on it keep working, and every month the gap widens: security fixes stop arriving, libraries drop support, and new hires ask which version you are on before they ask what the product does.

The migration is incremental in practice. We start with a dependency and compatibility audit, get tests around the flows that carry money, then move component by component — Options API to Composition where it earns something, Vuex to Pinia, build to Vite — with the application shipping the whole time. Where a library has no Vue 3 equivalent, we say so early and price the replacement rather than discovering it in week six.

Why us

Why teams bring us in for this stack

Four things we can prove, not four adjectives.

We will not upsell a rewrite

A framework migration that changes nothing for users is the most expensive thing a front end can do. If staying on Vue is right, that is the recommendation.

Vue 2 end of life handled properly

Compatibility audit, tests around the money flows, then component-by-component migration with the product shipping throughout.

Performance budget in CI

Bundle size and Core Web Vitals measured on a mid-range Android, with the build failing on a regression rather than a user noticing.

Documented component library

Handover includes the component documentation, so the next developer is not doing archaeology on your design system.

Industries

What we buildfor your industry

Vue front ends sit over our logistics and property back offices, and over internal tools where the same people maintain both sides of the stack.

18 sectors

  • IT companies and digital agencies
  • Insurers and brokers
  • Lenders and microfinance
  • E-commerce
  • Wholesale and distribution
  • Manufacturing
  • Freight and forwarding
  • Clinics and medical centres
  • Dental
  • Car dealers and service centres
  • EdTech
  • Legal and consulting firms
  • Equipment rental
  • Real estate agencies
  • Property developers
  • Travel and events
  • Beauty and wellness
  • Construction and renovation
FAQ

Questions we get about this stack

Answered by the people who would do the work, not by a sales team.

We are still on Vue 2 — how urgent is this?

It is a security question rather than a style one: Vue 2 stopped receiving fixes at the end of 2023. The audit tells you which libraries are the real blockers and what the move costs.

Do we need Nuxt?

Only if pages must be found by search or load fast for anonymous users. For an application behind a login, plain Vue is simpler and cheaper to run.

How does a Vue 2 to Vue 3 migration work?

Incrementally: compatibility audit, tests on the money flows, then component by component, with Vuex to Pinia and the build moved to Vite along the way. The app ships throughout.

Will you take over someone else's Vue codebase?

Yes, after a paid audit of dependencies, state management and test coverage — that is what makes the estimate honest rather than optimistic.

Pinia or Vuex?

Pinia for new work and as part of any Vue 3 migration; Vuex stays where it is until the migration reaches it. Mixing both for a while is normal, not a failure.

Do you write tests?

Vitest on logic, Playwright or Cypress on the flows that carry money. Migrating a framework without tests is guesswork with your revenue.

2–4×
faster on the code-writing share
in 3 weeks
from idea to MVP
230+
projects delivered
17 years
of engineering experience
Work

Work we can show you

Need this stack with a senior review included?

Tell us what exists today — a green field, a legacy codebase, or a team that needs two more pairs of hands. We answer with a scope, a price and a date.

We do not take work on a stack we cannot review internally at senior level.