UEMA
Any CMS · EDS & AEM Cloud · Content and code

The agent writes the compiler. The compiler migrates the site.

Most tools send every page through a model — which costs money linearly, produces output nobody can review, and cannot be fixed once. UEMA sends three. Then it writes the deterministic code that handles the rest.

0

model calls per page

2

AEM targets

8

verification gates

96

written specs

uema.app/workspace
acme.com/pricing PARITY

Captured page

No confident block match

Regions → blocks

  • Hero0.96
    heroExact match
  • Feature grid0.94
    cardsExact match
  • Logo strip0.81
    logo-cloudVariant
  • Comparison table0.42
    —Needs a new block
  • Footer CTA0.98
    ctaExact match

One model call per cluster — never per region.

Native connectors where they help — a rendered-HTML crawl where they do not

WordPressAEM 6.x ClassicDrupalSitecoreContentfulStrapiSanityAEM CloudSharePointFigmaLegacy XML exportAny rendered HTMLWordPressAEM 6.x ClassicDrupalSitecoreContentfulStrapiSanityAEM CloudSharePointFigmaLegacy XML exportAny rendered HTML
Why UEMA

Three decisions that make the rest follow

The model is used for judgment and never for mechanics. Verification blocks rather than warns. And one block definition serves both AEM targets.

uema.app/workspace
acme.com/pricing PARITY

Captured page

No confident block match

Regions → blocks

  • Hero0.96
    heroExact match
  • Feature grid0.94
    cardsExact match
  • Logo strip0.81
    logo-cloudVariant
  • Comparison table0.42
    —Needs a new block
  • Footer CTA0.98
    ctaExact match

One model call per cluster — never per region.

The economics

Cost does not scale with page count

A model-per-page tool charges the customer who most needs a migration accelerator — the one with a hundred thousand pages — the most for it. UEMA's model spend is a function of how many patterns your site has, not how many pages.

  • Output is reproducible, so a diff actually means something
  • A defect on page 4,312 becomes a failing unit test, not a re-roll
  • The bulk path runs with no network and no credential at all
Site sizeModel-per-pageUEMA
100 pages100 model calls≈3 model calls
1,000 pages1,000 model calls≈3 model calls
10,000 pages10,000 model calls≈3 model calls
100,000 pages100,000 model calls≈3 model calls

Roughly three, because the model runs once per pattern — one to three exemplars — not once per page. Add a handful more for a site with many distinct templates.

How it flows

From a live site to an open pull request

uema.app

Start a migration

Pick where the content is coming from.

A live website

Crawl it with real Chromium

A design system

Map into an existing library

A Figma file

Ingest frames as blocks

An existing repo

Start from what is already there

A legacy export

XML, JCR or a content dump

A connected CMS

WordPress, Drupal, Sitecore…

Active project

acme.com → EDS PARITY 9,102 published
Inside the workspace

Seven screens, one pipeline

Each tab is a stage rather than a section — pick a source, check a page, read the diff, watch the run, clear the queue. These are stylised recreations of the real interface.

uema.app/workspace
acme.com/pricing PARITY

Captured page

No confident block match

Regions → blocks

  • Hero0.96
    heroExact match
  • Feature grid0.94
    cardsExact match
  • Logo strip0.81
    logo-cloudVariant
  • Comparison table0.42
    —Needs a new block
  • Footer CTA0.98
    ctaExact match

One model call per cluster — never per region.

Key highlights

A migration accelerator, not a converter

Explore all features
02Core

The agent writes the compiler

Cost does not scale with page count. One page or a hundred thousand.

A model migrates one to three exemplar pages interactively. A human approves. The agent then writes a deterministic TypeScript importer module with fixture tests — and that module, not the model, runs over the remaining pages: in parallel, resumable, at zero model cost.

A defect found on page 4,312 is fixed in the importer, so it is fixed for all 10,000 — and the fix is a failing unit test, not a re-roll of a stochastic process.

04Emit

Both AEM targets, co-equal

One block definition emits Edge Delivery and the Universal Editor.

A single BlockType produces the EDS block, its CSS and JS, and the AEM Cloud Service / Universal Editor model, authoring table and component-definition.json. AEM Cloud is not an afterthought bolted on later — the two targets are generated from the same source of truth.

05Emit

Content and code, not just content

The blocks your migrated content needs to render, generated with it.

Most migration tools move content into components someone else has to build. UEMA generates the blocks, the CSS, the JS and the Universal Editor models — and validates them against the platform contract: no build step, no runtime dependencies, scoped CSS.

The contract is enforced by a validator, not requested in a prompt.

07Verify

Eight blocking verification gates

A gate, not a report. Nothing ships past a failure.

Content parity, visual diff, links, accessibility, performance, SEO preservation, structural sanity, and — where the source CMS could be read — whether anything it holds failed to reach the page. Each runs deterministically over the emitted output, and a page that fails one does not quietly proceed with a warning attached.

By the numbers

What the architecture actually guarantees

0

Model calls in the per-page path — enforced by the dependency graph, not by policy

7

Blocking verification gates before anything reaches your branch

2

AEM targets from one block definition — Edge Delivery and the Universal Editor

1

Flat subscription, unmetered — with your own model keys, or ours as a separate add-on

Being straight with you

What UEMA is not

It is in early development, and the README says so in its first paragraph. Here is the same honesty, before you invest an afternoon in it.

Not a replacement for a reviewer

It compresses a nine-month project to about three weeks by removing repetitive work. Someone who knows what right looks like still approves the exemplars and clears the queue.

Not yet proven at scale

The pipeline runs end to end and the mechanism for unattended bulk migration exists and is tested offline. It has not been run against a real site of significant size, and no pilot customer has been through it.

Not a website builder

It migrates and modernises an existing experience onto AEM. If you are starting from nothing, this is the wrong tool and will not pretend otherwise.

Frequently asked

Quick answers before you dig in

The full list — setup, isolation, provider choice and what is still missing — is on the Contact page.

View all FAQs
  • Because the model does not see most of your pages. It migrates one to three exemplars interactively, a human approves the result, and the agent then writes a deterministic TypeScript importer module with fixture tests. That module runs over the rest — in parallel, resumable, at zero model cost. A 100,000-page site costs roughly what a 100-page site costs in inference.

Point it at your site. Keep the repository yours.

UEMA runs on infrastructure you control and pushes to a branch you own. The quickest way to judge it is a working session on one of your own templates.