Edge City Goods // a design system and AI-native commerce layer for a popup archive store
the brief —
A store with no system is a store that can't scale, can't hand off, and can't be touched by AI tools without breaking. Every hour a developer spends guessing your design intent is money wasted. Every AI tool that can't find your store is a sale that went somewhere else.
Edge City Goods had the aesthetic. What it didn't have was a system — or discoverability. We built both.
what I built —
A complete design system and AI-native commerce layer for goods.edgecity.live. Documented in real-time as we built, not written up after the fact.
Two deliverables. One goal: a store that any developer can build on, any AI agent can find, and that doesn't depend on you to keep running.

DESIGN.md — saves time. saves money. —
DESIGN.md is a plain-text spec in the repo root written to be read by AI coding tools — Cursor, Claude Code, Copilot. Every token, every surface rule, every Do/Don't.
Before it existed: AI-generated UI came back generic. Default Shopify patterns. Wrong fonts. Raw rgba values. Accent colors used decoratively.
After: AI sessions open with full design context. Right tokens. Right patterns. Right constraints. The gap between "AI-generated" and "on-brand" collapses on the first pass.
This is what turns a design system from documentation into infrastructure. It doesn't just tell humans what to build — it tells the tools.
Esmeralda 2026 Tee
$45.00
brand foundation —
The aesthetic isn't arbitrary. It traces back to a worldview.
Edge City lives at the intersection of Buckminster Fuller's systems thinking, the Whole Earth Catalog's democratized knowledge, and the conviction that small groups of high-agency people can bend trajectories. The store is a relic-maker — objects that carry meaning because of what happened around them.
clouds → boundlessness, frontier, altitude above the default glass → transparency, nothing hidden, weightless precision float → unhurried, dreamy, slightly above everything white on sky → restraint, doing more with less
color
Semantic tokens. No raw values in components — ever. --color-accent is for interactive elements only. Any accent-colored element that isn't clickable is a violation.
typography
Two fonts. Strict roles. No overlap.
Instrument Serif italic → navigation and menu labels only. Always italic. The single expressive element in an otherwise minimal system.
Inter → everything else. Product titles, prices, descriptions, labels, policies. The workhorse.
The constraint is the point. When only one element is expressive, it carries more weight.
page-title
2.5rem / 500 / 1.0 / uppercase
product-title
1.25rem / 500 / 1.3
product-price
0.875rem / 400 / 1.4
nav-label
1rem / 400 / 1.0 / italic
body
1rem / 400 / 1.6
body-sm
0.875rem / 400 / 1.5
label
0.75rem / 500 / 1.0 / uppercase / 0.08em
surface hierarchy
Every surface in the store is one of three glass levels. Naming them as tokens means no raw rgba values in component code — any developer or AI tool knows exactly which surface to reach for without guessing.
--color-surface
Product cards, nav pill, cart panel. The default surface — sits lightly on top of the cloud.
^ hover to preview ^
motion
Two motion patterns define the brand feel.
float
product images drift -12px vertically on a 6s ease-in-out loop. Ambient, unhurried. Every floating element has a staggered delay so nothing moves in unison.
sibling dim
when one product is hovered, siblings drop to 70% opacity. The hovered item scales to 1.05× and rotates 1°. The effect pulls focus without hiding anything.


^ try hover over a product ^
cross-platform tokens
One tokens.json file. Two platforms. Change a value once — web store and iOS app stay in sync.
selected components
Full component library in Figma, tokens synced via Tokens Studio — no manual re-entry. A few examples:

CORAL
| S | M | L | XL | 2XL | 3XL | |
|---|---|---|---|---|---|---|
| LENGTH | 27.56" | 28.35" | 29.13" | 29.92" | 30.71" | 31.10" |
| SHLDER | 20.87" | 21.65" | 22.44" | 23.23" | 24.02" | 24.80" |
| CHEST | 22.05" | 22.83" | 23.62" | 24.41" | 25.20" | 26.38" |
| SLEEVE LENGTH | 8.19" | 8.46" | 8.74" | 9.02" | 9.29" | 9.29" |
All measurements in inches. Sizes may vary slightly.
EDGE ESMERALDA TEE
A speculative sketch of what flourishing looks like when you build it on purpose: part summer field journal, part founding document. Hilltop conversations, open-air dinners, whiteboard sessions past midnight, and mornings that feel like permission — each moment suspended between transience and permanence.
Fabric: 100% cotton
Color: CORAL
Size:
Figma is one path. But because DESIGN.md fully specifies every token, surface rule, and interaction pattern, an AI agent can build components directly from the spec — to the same standard, without opening a design file. Every interactive component in this case study was built that way: DESIGN.md as the brief, Claude as the builder.
the AI-native commerce layer — increase visibility. —
AI-mediated shopping is growing. When someone asks Claude or Perplexity "where do I get Edge City merch?" — you need to be the answer. This layer makes that possible.
llms.txt + llms-full.txt — the emerging standard for LLM discoverability. Every product, every page, in plain language. Crawled by Claude, Perplexity, and others automatically.
user asks AI agent
"where do I get Edge City merch?"
agent crawls domain root
goods.edgecity.live /llms.txt
reads plain text file
products, pages, pricing, intent
builds context
structured for LLM parsing
returns accurate answer
"Edge City sells limited-run..."
^ this happens automatically, every time an AI agent encounters the domain ^
JSON-LD Schema.org markup — structured product data auto-generated from live Shopify data. Every product, including future ones, marked up correctly without touching the code again.


FAQ page built as explicit Q&A — the format chatbots parse most effectively. What is Edge City? What is a network state? What does "tools for human flourishing" mean? Structured for answer engines, not keyword density.
Product metadata strategy — SEO titles, descriptions, and tags written to answer real questions people ask AI, not keyword-stuffed for Google.
AI-mediated discovery is still in early adoption. Most brands haven't structured their inventory for machine consumption yet. This builds that infrastructure while the gap is still open.
outcome —
The brief named two problems: no design system, and no machine legibility. Both were resolvable — they just required building the right artifacts in the right order. Each deliverable below maps directly to one of those problems.
A developer joining the project cold can open DESIGN.md and build to spec from day one — design decisions made once carry through every future build.
An AI coding session that previously returned generic Shopify patterns now opens with full token context. The gap between AI-generated and on-brand closes on the first pass.
When an AI agent is asked where to find Edge City merch, the store surfaces in the answer — not as a ranked result, but as a direct response with product name, price, and availability.