Revmo · Design Ops

The Design Asset System

Where every design asset lives so the marketing site — and the AI page-builder — can actually use it. One home per asset type. Git stays lean. Every component has a spec the skills can read.

The rule: git holds source-of-truth specs + optimized production assets. Large raw/working files live in Supabase. Previews reference by URL.
Four tiers
TierWhat lives hereLocationIn git?Served via
1 Brand source assetsLogos, customer logos, fonts, icons, brand marks, vertical hero photos — small, optimized, version-stable apps/web/public/brand/… Yes ✓ Vercel CDN
2 Production page imagesOptimized images a live page serves (webp/avif, ≤ a few hundred KB) public/brand/<area>/ Yes ✓ Vercel CDN
3 Large / raw mediaVideo, PDF, raw stock photos, working comps — anything heavy Supabase storage
media/ · brand-assets/
No ✗ Supabase public URL
4 Design source-of-truthYour component library + full-page comps (the HTML previews) docs/design/preview/ Yes ✓
HTML+SVG; raw stock → Tier 3
design.revmo.ai

Separate from the four: the spec layerskills/revmo-brand-system/references/ (tokens.md · components.md · section-catalog.md). This is text, not assets: what each component is, when to use it, its content schema. The AI reads this. A component isn't “usable by the platform” until it has an entry here.

How a design becomes something the platform can use
STEP 1 · 2

Design → commit the comp

Figma or hand-built, then commit the rendered component to components.html (+ a full-page comp).

Scott
STEP 3

Place the images

Optimized → public/brand/. Raw stock → Supabase. Never the 67MB in git.

Scott
STEP 4 · 5

Port + document

Engineer ports it to a React section; it’s documented in components.md / section-catalog.md.

Eng

A component that stops at the comp is a picture. The port + the spec entry are what make it usable by the platform and the AI. Don’t skip them.

In practice

Which tier is it?

Ships on a page & small once optimized?→ Tier 1/2, commit
Heavy — raw stock, video, PDF, working file?→ Tier 3, Supabase
A design comp / component reference?→ Tier 4, previews

Images specifically

Ships on the live page (customer photos, hero shots)
Optimize to webp/avif → public/brand/case-studies/<customer>/. Logos → public/brand/logos/.
Raw stock / working comps / alternates
Supabase media/ bucket. Previews reference the URL.
Don’t commit the raw ~67MB stock to git — 22MB of one JPEG slows every clone and CI run.