logo

[ FOR AGENCIES ]

From WordPress to Nuxt. With the team you already have.

We take on the technical side of the move — strategy, implementation, go-live — while your team keeps delivering to clients and learns the stack on the real projects.

> /jamflow:nuxt-upgrade --major
reading the changelog, then your repo
useAsyncData opts · routeRules · app/ layout
✓ patched what is mechanical · the rest is flagged
  • Nuxt officially supported
  • Elysia officially supported
  • modules wired
  • preview per branch
  • rollback ready
  • upgrade plugins included

Clients of the agencies that work with us

Not our clients — theirs. For some we are the cloud the site runs on; for others we are what the agency works with — the AI, the automations, the consulting. Either way the relationship, the contract and the invoice stay with the agency.

  • Macallan
  • Velier Explorer
  • Fradiavolo
  • Pepsi
  • Bvlgari
  • Fever Tree
  • Baladin
  • Campari
  • Roscioli
  • Camatti
  • Cocoricò
  • Eliofilm
  • Galactica Festival
  • Ghigo Pasticceria
  • Imatra
  • Polaroid Eyewear
  • Jerry Thomas Speakeasy
  • La Punta
  • Laura Meroni
  • Magno One
  • Mario Sirtori
  • Matthew Whiskey
  • Mudi Museo Discoteca
  • Galletto Vallespluga
  • MySecretCase
  • Selvatiq
  • Slap
  • Spirit Academy
  • St Regis
  • Trapizzino
  • Da Lucio
  • Scarpa

A structured path, not a leap into the dark

Many agencies keep postponing the move off WordPress because they don't have in-house Nuxt developers, or because they're afraid of not being able to keep delivering to clients during the transition. We work alongside you: we take on the technical side while your team builds internal skills over time.

Audit

We read one site end to end — plugins, content model, integrations, what actually breaks in production. You get a written plan with cost and time, and you keep it whether we work together or not.

  • one site, no commitment
  • plugin and content inventory
  • written plan + estimate

WP migration

WordPress → Nuxt, even without in-house developers

You don't need a full technical team to start. We cover the entire migration strategy, the architectural decisions, the implementation, and the go-live — while your team stays focused on delivery and client relationships.

Reduced operational risk
You don't migrate everything in one operation. You start with new projects or the sites with the most operational problems, and consolidate progressively — without interrupting client delivery.
Content stays safe
Your site's content stays accessible and editable throughout the migration. There's no window where the CMS is unreachable or the content is locked.
Expertise that compounds
Every migrated project builds internal expertise. The third project goes faster than the first, because the team already knows the patterns and doesn't have to learn everything from scratch.

Multi-site

Managing lots of WordPress sites? Even better.

Agencies running many WordPress sites accumulate years of technical debt: incompatible plugins, blocked updates, fragmented hosting. Consolidating onto a shared Nuxt stack cuts operational overhead and makes every project simpler to deliver and maintain.

WordPress

per site, per year

12update rounds a year

  • Half a day and up per round
  • Tested in production, or in a staging setup someone has to maintain
  • Rollback means restoring a database
  • Broken by plugin conflicts you didn't write

Nuxt + JAMflow

per site, per year

2–4update rounds a year

  • About a quarter of a day per round
  • Tested locally, on a branch, before anything ships
  • Rollback is the previous deploy, instantly
  • Broken only by your own code, in version control
Less work for every new site
The second site starts with all the work from the first already done: same structure, same modules, same pipeline. You only customize what actually changes from client to client.
Centralized maintenance
Updating a module or applying a security patch happens in one place, not on every site separately. Less time on maintenance, more on delivery.
The team already knows the next project
Once a developer has worked on three sites on the same stack, they already know the fourth before opening the repository. No surprises, no mystery plugin to decipher.

AI, honestly

A codebase your AI agents can actually work in

AI coding agents are only as good as the code you point them at. On twenty WordPress sites with different plugin stacks and no types, they guess. On one typed Nuxt stack with shared modules and conventions in the repository, they read the project and get it right. Migrating isn't a cost you carry before you can use AI — it's what makes AI usable.

Agents in your delivery, not in a demo
One stack, typed end to end, with the conventions written down where the agent reads them. We ship plugins for Claude and Codex that carry the breaking changes of Nuxt and Elysia — the two frameworks we support officially — so an upgrade is a reviewed pull request instead of a week of archaeology.
AI features you can sell to clients
Conversational AI and smart search are modules on the platform, not projects. You switch them on for a client in a day and charge for a capability WordPress agencies quote for months.
Your team learns it on the real project
We set the repository up so agents are useful in it, then pair with your developers on live work. No workshop, no certificate — the playbook stays in your repo when we step back.
Framework upgrades stop being scary
Every Nuxt or Elysia release with breaking changes comes with a plugin that knows what changed and patches your projects, across the whole fleet. Visual and accessibility checks run in the pipeline; a human still approves the merge.
agent sessionfleet-wide task
> /jamflow:nuxt-upgrade --fleet
every repo on the stack, one branch each
patching, then running each test suite
✓ a PR per repo · the hard ones flagged

CMS strategy

4 ready-made paths, one Nuxt frontend

There's no single right CMS for every project. The choice depends on who publishes the content, how complex the data model is, and how much editorial autonomy the client needs. The frontend stays the same across all projects: the team learns it once, then only the backend changes.

content/ · visual editing

Nuxt Studio

Visual editing integrated with Nuxt. The marketing team can edit content directly, without depending on developers for every piece of text or image.

See the framework →

LowCode modules ready to switch on

Instead of building auth, mail, e-commerce or search from scratch for every project, we switch on modules that are already built and tested — and already integrated with each other.

bun i @jamflow/labsone module wires them all into the project

CMS Layer
Nuxt Studio, Payload or Supabase, wired to the same frontend. One choice per project, not per agency.
Auth
Email and social login, sessions, roles. The plumbing nobody wants to rebuild for the fifth time.
Mail
Transactional and marketing sends with templates in the repo and delivery you can inspect.
Conversational AI
A client-facing assistant grounded in the site content. A module, not a six-week project.
AI Search
Semantic search over content and catalog. Handles typos, synonyms and questions.
E-commerce · Stripe
Checkout, subscriptions, tax and invoices for products sold directly.
E-commerce · Shopify headless
Keep the client on Shopify for operations, serve the storefront from Nuxt.
SSO & AD
SAML and OIDC against the client directory, for portals and internal tools.
Image Optimizer
On-the-fly resize, format negotiation and CDN cache. No plugin to babysit.
Edge Proxy & Security
WAF, rate limiting and bot filtering in front of every site in the fleet.
Analytics & Consent
Cookie banner, consent state and privacy-friendly stats, consistent across all client sites.
Fleet Pipeline
One pipeline for every site: preview per branch, atomic deploy, instant rollback.

No lock-in

No lock-in, and a team that grows while you deliver

We work with transparent architecture and shared workflows. We don't wait until the project is delivered to train the team: every sprint is a learning opportunity, and at the end you own both the code and the ability to run it.

Code you can read and change
The code has no obscure patterns or mysterious dependencies. Any Nuxt developer can take over the project without having to learn a proprietary framework first.
Everything in one place
There are no secret settings in a console only we can access. Every configuration is in the repository, versioned with the code, visible and controllable by your team.
You deliver from the first sprint
You don't wait until the end of the project to start delivering. From the first sprint the work is real, the code goes to production, the client sees results.
No handover day, and the why is written down
Your team leads more and more as the project progresses, and every important decision is documented: why that CMS, why that structure, why that approach. Nobody inherits an opaque project.

The goal is for your team to be able to do without us.

Every project we deliver together is documented, discussed, and transferred. No black boxes, no "just ask the vendor": standard architecture, configuration in the repository, patterns your team can reuse.

If you later want to manage everything in-house, you have everything you need to do it. If you want to keep working with us on new projects, good. That choice stays yours.

How we work together

White-label. The client stays yours.

We work behind your agency, under your name. We don't contact your clients, we don't sign them, we don't appear in the deck unless you want us there. Brands you may recognise are running on this stack — through the agencies that build for them, not through us.

Your side

Contract, invoice, relationship

You keep the client, the scope conversation and the margin. We are a supplier to you, not a competitor sitting at your table.

Our side

The technical side, named or not

Architecture, migration, platform, on-call. In client meetings we can join as your technical team or stay out of the room entirely.

To start

One site, audited free

Pick your most painful WordPress site. You get a written migration plan with an estimate of cost and time. No commitment attached to it.

When it makes sense to work with us

We're not the right choice for everyone. Here are the cases where we do our best work.

Agencies with a WP fleet to modernize
You manage 5, 10, or 20 WordPress sites with fragmented hosting, plugins to update, and clients asking for better performance. Consolidating onto Nuxt + JAMlabs has the highest return in these contexts.
Agencies without in-house Nuxt developers
Your team knows how to deliver, but doesn't have the internal expertise on a Nuxt stack. We work alongside them without blocking delivery.
Teams that want AI to earn its keep
You've tried coding agents on client WordPress projects and got plausible nonsense. On a single typed stack with conventions in the repo, the same tools start paying for themselves.
E-commerce projects that need to scale
WooCommerce works up to a point. When the catalog grows, performance degrades and maintenance gets heavy. Nuxt + Stripe or Nuxt + Shopify headless handle scale without the limits of a WordPress plugin.
Agencies that want to stand out
Offering a modern, performant stack is a real competitive advantage. The ability to deliver on Nuxt with AI search, chat and auth opens conversations WordPress can't.
Projects with requirements beyond WP
A real portal or a platform with governance, SSO and integrations is a project where WordPress becomes the constraint rather than the tool.

Frequently asked questions

How long does a WP → Nuxt migration typically take?

A standard content site is usually four to six weeks from kickoff to go-live, including content migration and redirects. Complex e-commerce or portal projects run longer, and we say so in the plan before you commit.

Does my team need to know Nuxt already to start?

No. We do the first project, your developers work in the same repository with us. Most teams are reviewing and shipping their own pull requests before the second project.

Who owns the client relationship?

You do. We work white-label behind your agency: we do not contact your clients, we do not sign them, and we appear in meetings only if you want us there as your technical team.

What happens to existing content during the migration?

It is exported once and versioned with the code. The WordPress site keeps serving until the switch, and the CMS is never unreachable during the move.

How do AI coding agents actually fit in?

Two ways. We set the repository up for them — types, tests, conventions written where the agent reads them, and a pipeline that catches mistakes before they ship. And we ship plugins for Claude and Codex that handle breaking-change upgrades on Nuxt and Elysia, the frameworks we support officially. Then we pair with your developers on the real project so the habit stays after we step back.

Do I have to use all the JAMlabs modules?

No. Switch on what a project needs and ignore the rest. Modules are integrated with each other, not bundled together.

Can I use a CMS I already know (e.g. Strapi)?

Yes. The Nuxt frontend is CMS-agnostic. If your team is fast on a specific backend, that speed is worth more than our preference.

What if the client wants to keep WordPress for the blog?

That works. WordPress can stay as a headless content source for one section while the rest of the site runs on Nuxt. It is also a common first step for cautious clients.

What does it cost to get started?

The audit of one site is free and you keep the plan. From there, a pilot project is scoped and priced fixed, so you can quote your client with a number you trust.

Send us one WordPress site.

Pick the one that costs you the most time. We read it end to end and send back a migration plan with an estimate of cost and time — free, and yours to keep whether you work with us or not.