Browse & detail
Category navigation, effect detail pages, and metadata from validated manifests.
NeedDiscovery is the product—tags alone are not enough.
ValueFind the right interaction pattern quickly.
ProjectsCase Study

ZNVerse solves a maintainer problem: dozens of small effects lived as one-off demos. The MVP gives developers one place to find an effect, see it live, and copy source—without importing a whole motion stack blindly.
Architecture is deliberately loose-coupled: `registry/effects/<slug>` is the single source of truth; `apps/web` reads manifests; `apps/preview` mounts preview entries so effect code never runs inside the marketing app bundle.
MVP scope is disciplined—no accounts, billing, or npm publish in v1—so the shipped surface is browse, detail, sandboxed preview, source API, and search.
UI experiments accumulate in separate repos and Storybook folders; previewing one effect means cloning, installing, and hoping dependencies match.
A catalog only helps if preview truth and source truth are the same file on disk.
ZNVerse ships three cooperating apps/packages:
Each effect is a folder with effect.json, src/, preview/, and README—validated by `pnpm effect:validate`.
apps/web lists and details effects, serves search/filter, SEO, and read-only source via API routes.
apps/preview (separate port) mounts live demos; the web app embeds them through a sandboxed iframe with slow-load UX.
Developers preview real motion safely, copy the exact registry source, and maintainers add effects with a scaffold command—not hand-wired routes.
Category navigation, effect detail pages, and metadata from validated manifests.
NeedDiscovery is the product—tags alone are not enough.
ValueFind the right interaction pattern quickly.
Toolbar search across manifests with browse tags and letter-grouped navigation.
NeedThe library grows; scrolling does not scale.
ValueReach the right effect without knowing the slug.
Embeds the preview app in a sandboxed iframe with loading and slow-timeout overlays.
NeedWebGL and R3F demos must not share the catalog app’s React tree.
ValueSafe live demos with graceful degradation.
GET /api/source returns inline files or repository metadata for copy-out.
NeedThe copied code must match the previewed effect.
ValueDrop-in snippets for production apps.
Search or browse to an effect detail page.
Watch the isolated preview load in the iframe.
Copy source from the API-backed panel into a project.
apps/web/src/lib/registry/index.ts walks registry/effects, parses manifests with @znvserce/registry-schema, and exposes GET /api/effects.
Business valueOne validation pipeline keeps catalog and preview in sync.
getPreviewEffectUrl builds URLs against a dedicated preview base; PreviewIframe applies an explicit sandbox string.
Business valueA broken effect cannot crash the main catalog session.
pnpm effect:create scaffolds folders; effect:validate regenerates preview maps used by the preview app.
Business valueAdding content stays mechanical as the library grows.
| Challenge | Solution |
|---|---|
| Inlining effect runtime inside apps/web would couple WebGL/R3F crashes to every catalog page. | Dedicated apps/preview service and iframe embedding with sandbox attributes and slow-load UX. |
| Metadata drifted when manifests lived separately from source folders. | Registry-only SSOT with Zod/schema validation and a single loader path—no parallel JSON databases in MVP. |
Recommended capture order for the case-study gallery.
Treat the registry as the product; the marketing site is just a reader—otherwise every new effect becomes a deploy risk.
MVP wins by saying no to auth and billing until browse → preview → copy is flawless.
| Priority | Improvement | Business value |
|---|---|---|
| Medium | More effects migrated from zn-effects demos | One catalog replaces scattered experiments. |
| Low | Richer media previews for non-live effects | Fallback when sandboxed live preview is not appropriate. |
ZNVerse is a case study in registry SSOT and isolated previews—not a bloated design-system platform. If you want the same pattern for your component library, start a conversation.
Start a conversationFull Stack Product Engineer
Personal product / developer catalog
2026
Solo build
Next Project
Ask about projects, skills, or how to hire.