Skip to content

Websites and web apps built with Vue 3 and Nuxt

Websites, web apps and customer portals built with Vue 3 and Nuxt, rendered on the server so search engines can read them. We also move Vue 2 and Nuxt 2 code, which no longer gets fixes, onto Vue 3, step by step and without stopping the app.

We reply within one working day. 020 3540 5048

Problems you shouldn't have to live with

  • A Vue 2 app on borrowed time

    Vue 2 reached end of life on 31 December 2023 and Nuxt 2 on 30 June 2024. Your app still runs, but libraries are dropping support, security fixes have stopped and every upgrade is harder than the last.

  • A single-page app search can't see

    Your Vue app renders in the browser, so search engines and link previews get an empty page first. Marketing pages that should bring in customers don't rank.

  • Mixins and a store nobody understands

    Logic is spread across mixins, a global event bus and a Vuex store that grew with every feature. Changes take longer than they should and break things in other places.

  • A team that knows Vue, not React

    Your developers know Vue, and agencies keep proposing a React rebuild. You want someone who will work in the framework you already have, and improve it.

How we solve it

  1. 1

    Vue 3 and the Composition API

    Components written with script setup and composables, so shared logic lives in one place, reads clearly and is typed with TypeScript.

  2. 2

    Nuxt 3 and 4 for search

    Server-side rendering, static generation or a mix per route, so every page arrives as finished HTML with its title, description and structured data, and loads quickly.

  3. 3

    Pinia for state

    Pinia, Vue's official store, in place of a sprawling Vuex store: small stores by feature, typed, and easy to test.

  4. 4

    Vite and TypeScript

    Fast local builds and hot reload with Vite, and TypeScript across components, stores and API calls, so mistakes show up before they reach users.

  5. 5

    Vue 2 to Vue 3 migration

    An audit, a module-by-module plan and the first module migrated, from £3,500, then the rest at a fixed price, with the app working throughout.

  6. 6

    Content your team edits

    Nuxt front ends on a headless CMS such as Sanity, Storyblok or Payload, so editors publish pages without a developer.

Technologies we use

Vue 3 Nuxt 3 and 4 Pinia Vite TypeScript Vue Router Vitest Playwright Tailwind CSS Node.js Sanity Storyblok

How we work with Vue

What we build with Vue 3 and Nuxt, and how

We have no published Vue client work to show yet, so this page sets out what we build, how we approach it and what it costs, rather than case studies we can't link to.

  1. 1

    What we build

    Company websites and content sites on Nuxt, web apps and dashboards on Vue 3, and customer portals with sign-in and subscriptions. Components use the Composition API with script setup, state lives in Pinia, the build runs on Vite and the code is TypeScript throughout, with Vitest for units and Playwright for the journeys that matter.

    You own the code, the hosting and every account from the first week, and the handover is written so another Vue team could pick it up.

  2. 2

    Server-side rendering and static generation for search

    A Vue single-page app sends the browser an empty page and builds it with JavaScript, which is fine for a dashboard behind a sign-in and poor for pages that need to be found. Nuxt renders each page on the server or ahead of time, so search engines and link previews get finished HTML with titles, descriptions and structured data.

    Nuxt lets each route choose: static for marketing pages and articles, server-rendered for pages that change per visitor, client-side for the app behind the sign-in. We pick per route, not per project.

  3. 3

    Moving Vue 2 and the Options API to Vue 3

    Vue 2 reached end of life on 31 December 2023, and Nuxt 2 on 30 June 2024. Neither gets fixes from the Vue project any more, including security fixes. Moving doesn't have to mean a rewrite: Vue 3 still supports the Options API, and Vue's migration build runs most Vue 2 code while it's updated piece by piece.

    We start with an audit of your code and dependencies, write a module-by-module plan, and migrate the first module so you see the approach working. Components we touch move to the Composition API and Pinia where that helps; ones that work and rarely change can stay as they are.

  4. 4

    Vue and Nuxt, or React and Next.js: an honest view

    Both are good, and for most websites the choice matters less than how well the site is built. We'd recommend Vue and Nuxt when your team already knows Vue, when you have a Vue codebase worth keeping, or when your back end is Laravel, where Vue is a common partner. Rewriting working Vue code in React to suit an agency is rarely money well spent.

    We'd recommend React and Next.js when you're starting from nothing and want the largest pool of developers to hire from, when you plan a React Native app that could share code and people, or when your existing code is already React. This site runs on Next.js. Tell us what you have and we'll tell you which we'd choose, and why.

  5. 5

    What it costs

    A company website starts at £2,500 and a content-managed site on a headless CMS at £4,500, built with Nuxt or Next.js. Web apps and portals usually land between £15,000 and £50,000, depending on sign-in, billing and integrations. A Vue 2 to Vue 3 migration starts at £3,500 for the audit, the plan and the first module, with the rest quoted at a fixed price after the audit.

    You pay a 50% deposit to book the start date and the balance on launch; prices exclude VAT. After launch, Website care from £95 a month keeps a site hosted, updated and secure, and Ongoing development from £1,500 a month gives you reserved build days for a product that keeps growing.

After launch

Keep it working after launch

Websites and apps need looking after once they're live. Ongoing development is the plan most people choose after this, at from £1,500 a month.

Already have an app or site that needs looking after?

Questions we get asked

A company website starts at £2,500, a content-managed Nuxt site on a headless CMS at £4,500, and web apps or customer portals usually land between £15,000 and £50,000. A Vue 2 to Vue 3 migration starts at £3,500 for the audit, plan and first module. You get a fixed price for an agreed scope before we start.

Ready to talk about your project?

Let's talk about your project and the best way to approach it. No commitment and no pressure, just a conversation about what's possible.