A live demo of consuming Manifold
One API.
Every source.
Contentful, a REST API and a GraphQL endpoint — three wildly different shapes — normalized into one cached, versioned contract. This frontend reads only Manifold, yet every value still proves which upstream it came from.
Heterogeneous sources
Four ways Manifold collapses the shape
Catalog
cross-providerThree providers → one product. Merged by priority, pooled by key, provenance per field.
Article
A headless CMS, flattened — sys/metadata/includes envelope stripped to clean fields.
Stories
A second headless CMS — Storyblok’s deep story envelope flattened onto the same clean contract.
Product
A fat REST payload, trimmed — 22 fields per product down to the 6 that matter.
Region
A GraphQL query, normalized — envelope stripped, multi-value currencies coalesced.
How this frontend is wired
Browser → BFF
The browser only ever calls this app’s own /api/* route — same-origin, no keys.
BFF → key-holding proxy
A tiny Worker holds the Manifold consumer key as a secret and caches responses at the edge.
Proxy → Manifold /v1
Reads normalized entries + per-field provenance. The key never reaches the browser.