logo

[ FOR AGENCIES ]

The technical side of your agency.

From a Figma to a fleet of client sites: built, hosted and kept running. You keep the client and the margin.

> /jamflow:nuxt-upgrade --major
reading the changelog, then your repo
useAsyncData opts · routeRules · app/ layout
✓ patched what is mechanical · the rest is flagged
  • Nuxt and Elysia, our two frameworks
  • one shared base per fleet
  • preview per branch
  • rollback is one click
  • upgrade plugins included
  • EU data residency

Why bother

Ten client sites, ten places the work lives

Agencies running many WordPress sites accumulate years of technical debt: incompatible plugins, blocked updates, hosting spread across whoever the client signed up with. The cost isn't one big bill, it's that every fix has to be done as many times as you have sites.

Ten WordPress sites

10codebases to keep alive

  • Ten plugin sets, each with its own update it can break on
  • Ten hostings, ten sets of credentials, ten places to look
  • Rollback means restoring a database
  • Broken by plugin code you didn't write and can't read

Ten sites on Nuxt + JAMflow

1shared base, ten thin overrides

  • One patch, applied once, reaching all ten
  • One pipeline, one preview per branch, one place to look
  • Rollback is the previous deploy, and you press it
  • Broken only by your own code, in version control

How we work together

Two ways to work. You pick, per client.

The first question an agency asks a platform vendor offering to work on its client fleet is whether the vendor is going to take the client. The honest answer is that it depends on which of two arrangements you choose — and that the choice is yours, one client at a time.

Behind you

White-label. Contract, invoice, relationship.

We are your supplier and nothing else. You hold the client, the scope conversation and the margin; we don't contact them, we don't put them under contract, and we appear in meetings only if you want us there as your technical team.

Alongside you

The client has their own account.

The end client signs with us for the platform and pays it directly, while you keep the project, the delivery and the relationship. Useful when a client wants their infrastructure in their own name — and it takes the platform bill off your books.

Either way we are the cloud underneath, and either way we never see what you charge for your own work.

If you don't have developers

Design is enough. We take it from the Figma.

Plenty of agencies are a design studio with a delivery problem attached. If your team stops at the file, that is a complete handover as far as we are concerned: we build it in Nuxt, wire the modules and ship it — components, states, responsive behaviour, and the parts the file left implicit, which we ask about rather than invent.

So nothing about working with us requires a developer on your side. If you have one, they are welcome in the repository from day one and that is how the knowledge ends up with you. If you don't, you do not need to hire one before you can start.

What it costs

The audit is free. The migration is a fixed price. The platform is on the list.

You should not have to book a call to find out what something costs. We read one site end to end for nothing, and the plan is yours to keep either way. Only after that do we quote — a fixed price, against what the audit actually found, so you can put a number in front of your client and trust it. Underneath, the platform is metered at the same published rates every customer pays.

See the price list →
Free
the audit of one site, plan included
Fixed
the migration, priced after the audit
CHF 0.01
per RU-hour, no agency surcharge

The move itself

How a WordPress site actually becomes a Nuxt one

The mechanics are the same whether the site is yours or your client's: every indexed URL mapped before anything ships, a crawl diff before and after, the old site live as the fallback, and the content out of the theme and into git with no editorial freeze. It has its own page, because your client may want to read it too.

Read how the migration works →

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.

So the plugins are the practical part: every Nuxt or Elysia release with breaking changes arrives with one that knows what changed, patches what is mechanical across the whole fleet and flags the rest with the diff to read. Visual and accessibility checks run in the pipeline; a human still approves the merge. The rest is habit, and habit is why we pair with your developers on live work instead of running a workshop — no certificate, and the playbook stays in your repo when we step back.

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

What's in the box

Instead of building auth, mail, e-commerce or search from scratch for every project, you switch on modules that are already built, tested and integrated with each other. Six of the eight have a page of their own — go read what they actually do.

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

CMS Layer
Nuxt Studio, Payload or Postgres, 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.
Conversational AI
A client-facing assistant grounded in the site's own content, not in whatever the model remembers.
AI Search
Semantic search over content and catalogue. Handles typos, synonyms and questions, not just keywords.
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, configured once.
E-commerce
Stripe for products sold directly, or Shopify headless when the client stays on Shopify for operations.
Fleet Pipeline
One pipeline for every site: preview per branch, atomic deploy, instant rollback.

CMS is a per-project decision, not an agency-wide one: Nuxt Studio for a marketing team that wants to publish on its own, Payload when the data model and the editorial governance are the hard part, Postgres directly when the content is really structured data, or a custom one when the client's process fits none of them. The Nuxt frontend is the same behind all four — your team learns it once.

No lock-in

You own it — and somebody answers when it breaks

Everything is in the repository: no secret settings in a console only we can reach, the pipeline and the edge rules versioned with the code, and a rollback you press yourself without asking us or restoring a database. What you end up holding is a plain Nuxt project on Nitro — any Nuxt developer can take it over, and it deploys anywhere Nitro deploys, including somewhere that isn't us.

The other half of the answer is that a person picks up. Escalation goes to a named engineer on the channel agreed in the contract — not a form and not a queue — and the response times are written into the agreement, so you can put them into the one you sign with your client.

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

We're not the right fit if…

The client only wants WordPress and isn't willing to change, or the agency has no interest in building internal technical expertise. In that case there are excellent WordPress specialists — that's not us, and we'd rather say so now than three weeks into a project.

Frequently asked questions

The ones that come up in the first call, answered here so the first call can be about your fleet instead.

Ask us something else →
Do we have to work white-label?

No — it's per client. Either we sit behind you and you hold the contract, or the client signs with us for the platform directly while you keep the project and the relationship. We're the cloud underneath in both cases, and in neither do we see what you charge for your own work.

Who owns the client relationship?

That is your call, and you make it per client. Behind you, white-label: you hold the contract, the invoice and the relationship, and we neither contact your clients nor put them under contract. Alongside you: the client signs with us for the platform and pays it directly, while the project, the delivery and the relationship stay yours. We are the cloud underneath either way, and in neither case do we see what you charge for your own work.

We only do design — can we still work with you?

Yes, and it is a common shape. Hand us the Figma and we build it: components, states, responsive behaviour, the modules wired in, the site live and running afterwards. What we will ask you for is the parts a design file leaves implicit — empty states, error copy, what happens on a slow connection — because we would rather ask than invent. You keep the client, the design and the brief.

Who does the migration work itself?

We do, and we're also the cloud it runs on afterwards, so there's no third party to coordinate when something needs fixing. Your developers are welcome in the repository from day one — that's how the knowledge ends up with you rather than with us.

What if something you shipped breaks the client's site?

Any deploy reverts to the previous one in a click, and you don't need us to press it. Beyond that, escalation goes to a named engineer on the channel agreed in the contract. If the regression came from us, we fix it and we write up what happened — a write-up you can forward to your client under your own name.

What does my team actually have to do?

For the pilot, expect one developer at roughly two days a week: reviewing pull requests, pairing on the parts they'll own, and making the decisions that are yours to make rather than ours. That is the whole cost to your delivery capacity — the rest sits on our side.

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 and see the decisions as they're made. There's no course and no certificate — the playbook stays in your repo when we step back.

What does the hosting actually cost per site?

It is metered, not a plan: compute per Resource Unit per hour, storage per GB, egress per GB by zone, at the published rates on the pricing page. A brochure site for a client who gets quiet in August costs less in August. You pay us at list and charge your client whatever you charge — there is no agency surcharge in between, and we don't see your invoice.

What is not in the price?

Third-party licences the project needs, the client's own domains and mailboxes, and writing the content. We list them in the plan rather than letting them arrive later as a surprise line.

Do we have to use all the modules?

No. Switch on what a project needs and ignore the rest. They are integrated with each other, not bundled together — and the same is true of the CMS: that is a decision per project, not one you make once for the whole agency.

Tell us what you're building.

A fleet to consolidate, a client project you would rather not staff, or a Figma that needs to become a site. The first call is about your work, not about us — and if it is a WordPress site, the audit and the plan are free.