Skip to content

Solution Studio Catalog Generator

Demo catalogs that took days of sourcing arrive in minutes, with imagery and a mapping into the target system.

Describe the catalog you need and it invents the products, shoots the images, and maps them to a target schema.

What the agent does

Takes a plain-language brief for a catalog and invents the products to fill it, producing each item's data and its imagery without further direction.

Contributed by
MACH Alliance (Reference implementation)
Industry
Technology, Retail, Cross-industry
Audience
B2B
01
The problem

Why this exists

Every demo, integration test, and reference implementation needs a product catalog, and nobody has one to hand. Real catalogs cannot be redistributed, and the public sample sets are small, stale, and instantly recognizable.

Read more

So the data gets made by hand, which is slow, or scraped, which is a licensing problem. Either way the images are the part that stops people, because a catalog without photography does not look like a catalog and cannot be used to show anything.

There is a subtler failure. A model asked for realistic products reaches for real, currently trading companies, which is not acceptable in demo data that ships inside a published reference implementation.

02
Outcomes

What this demonstrates

  • A prompt such as "12 minimalist ceramic vases, $40 to $120" returns the items, priced and described, in one pass.
  • Every product gets a generated photograph, post-processed so the background is a true white rather than the few units off that models reliably produce.
  • Brand names are omitted by default. Turning them on produces an invented house brand and never a real company, so the output can be published.
Read more
  • The same catalog exports into the shape a target system expects, previewed against a real product before it runs.

What you would add to ship it

  • A commerce backend. This is a local tool for producing demo catalogs and is not one.
03
How it works

Architecture

The server is a small set of routes on Hono, run through TypeScript directly with no build step. The interface is one plain HTML file with no framework and no bundler. Products are flat JSON files on disk, one per category, in the shape a search index returns rather than in a database.

Read more

All model calls go through one file. That is a deliberate boundary rather than a convention: the local interface's own routes are unauthenticated, so models and routes are configuration while endpoints and keys are environment, and the split is what keeps an unauthenticated route from being able to redirect spend. User-supplied URLs are checked against private address ranges, and every redirect hop is rechecked.

The export engine maps catalog fields onto a target schema through dotted paths, array grouping, transforms, and computed fields, then emits JSON alongside a zip of the referenced images. The engine itself is deterministic and does no model work at export time.

A separate catalog API lets another service read the catalog directly, without depending on this project's own front end. Consumers only read through it; its one write path is an authenticated pair of image actions, generating or removing a product's image.

A single plain HTML interface calls Hono routes in api.ts, run through TypeScript with no build step, over flat JSON files on disk held one per category in the shape a search index returns. All model calls go through one file, keeping models and routes as configuration while endpoints and keys stay environment. A deterministic export engine maps fields onto a target schema and emits JSON with a zip of referenced images, and a separate catalog API lets another service read the catalog directly, with authenticated writes limited to generating or removing product images.

A single plain HTML interface calls Hono routes in api.ts, run through TypeScript with no build step, over flat JSON files on disk held one per category in the shape a search index returns. All model calls go through one file, keeping models and routes as configuration while endpoints and keys stay environment. A deterministic export engine maps fields onto a target schema and emits JSON with a zip of referenced images, and a separate catalog API lets another service read the catalog directly, with authenticated writes limited to generating or removing product images.
Open standards used
REST APIs
Tech stack
HonoVercel AI SDKsharpDocker
Next step

Take the code

This one is published in full. Read it, run it, fork it. Nothing here is behind a conversation.

Request an intro

This one is the MACH Alliance’s own work. Ask about building demo catalogs for integrations, and the people who built it will answer.

Your details go to a named contact on the MACH Alliance team that built this work and can answer your questions. We aim to reply within 2 business days. Your details are handled under the MACH Alliance privacy policy.

Not ready to talk to anyone? MACH Insider is the Alliance mailing list. New solutions, program openings, and the research behind them, once a month.

Everyone credited on this solution

Every organization named here has a page listing the rest of its work on the Hub.

Keep reading

Related solutions

Verification

Public code

The implementation is published in full, so anything on this page can be checked against the repository. Anything the repository does not show is not established here.

Where this came from

Written from the public repository README, GETTING_STARTED.md and CONTRIBUTING.md. This is a local tool for producing demo catalogs, not a commerce backend. It is listed here as Solution Studio reference tooling.

Status: Reference prototypeAdded Sep 10, 2026A listing is an editorial decision, not a MACH Alliance certification.

Built something worth showing?

Put your agentic solution in front of the enterprise leaders who use the hub to decide what to build next. Submissions are open to MACH Alliance Members, Collaborators, or Ambassadors.