RESUME

CONTACT

EXPERIENCE

CONTACT

PARTI — CASE STUDY

DESIGN ENGINEERING · FRAMER CMS · CODE COMPONENTS · RESPONSIVE QA

DESIGN ENGINEERING · FRAMER CMS · CODE COMPONENTS · RESPONSIVE QA

PARTI — Extending an architecture template into a content system

PARTI — Extending an architecture template into a content system

I extended a Framer architecture-studio template so projects can show site analysis, community process, and material choices: three new CMS collections, self-hiding sections, a pair of React code components for a toggleable site map, and an editorial redesign after testing on an iPhone. I directed the work; an AI agent executed it in Framer through its API. All imagery and example content are AI-generated.

I extended a Framer architecture-studio template so projects can show site analysis, community process, and material choices: three new CMS collections, self-hiding sections, a pair of React code components for a toggleable site map, and an editorial redesign after testing on an iPhone. I directed the work; an AI agent executed it in Framer through its API. All imagery and example content are AI-generated.

PROJECT TYPE

Self-initiated concept build on the Okoro Vale (Parti) Framer template. Fictional studio and project.

MY ROLE

Design engineer · Content modeling · Interaction design · Code direction · Device QA

TOOLS

Framer (CMS, breakpoints, code components) · React · TypeScript · Framer MCP API · Headless Chrome · AI image generation

SCOPE

Map layers · Project timeline · Material pages · Journal covers · Phone layouts

View live website ↗

VELUM live homepage hero on desktop

Yucca Valley House project page, desktop and phone.

THE BRIEF

Show the work behind the building, without breaking the template.

Show the work behind the building, without breaking the template.

The template shows finished buildings well. It had no way to show site analysis, community process, or material choices, which is where landscape, urban, and sustainability work actually lives. Everything had to be additive: no existing field renamed or removed, and projects that don’t use the new sections had to render exactly as before.

01

Map Layers

Name, description, transparent overlay image, color, and order. Drives a site plan visitors can switch layers on and off.

02

Timeline Events

Title, date, phase (Listening, Design, Construction, Occupancy), description, and image.

03

Materials

Name, slug, deck, photo, source, why chosen, how it ages, and a sustainability note, each with its own detail page.

04

Self-hiding sections

Each section is a collection list filtered by the project’s reference field, and hidden when that field is empty.

Tradeoff: timeline events are referenced from Projects rather than pointing back, so hiding an empty section is one binding, at the cost of editors linking events from the project side.

THE LAYER TOGGLE

Working around a CMS limit with a shared store.

Working around a CMS limit with a shared store.

A Framer code component can’t read a CMS multi-reference list as a prop, so one component can’t receive all of a project’s layers. The collection list stays the data source; a LayerOverlay and a LayerChip sit inside each repeated item, and a tiny LayerStore module (a Set plus useSyncExternalStore) keeps chips and overlays in sync. Chips use aria-pressed and a 44px minimum hit area; overlays fade over 250ms.

VELUM 01 CLEANSE frosted bottle catalog photograph

All layers on

VELUM 02 FORTIFY frosted serum bottle catalog photograph

Two layers toggled off

VELUM 03 SEAL frosted jar with brushed aluminum lid catalog photograph

Timeline, single column on phone

Verified on the live site in headless Chrome at 390px with touch emulation: tapping two chips set aria-pressed to false and dropped those overlays to opacity 0, while the third stayed on.

Known limits: layer state resets on reload, and the phase label uses four conditional text layers because an option field can’t bind to text directly.

CLEANSE, FORTIFY, and SEAL in order on an architectural stone ledge

Site plan with topography, water flow, and planting overlays on desktop.

THE EXPERIENCE

Three opt-in sections and a new detail template

Three opt-in sections and a new detail template

VELUM homepage philosophy section with SEAL jar and editorial headline

Timeline. Date, text, and image rows grouped by phase.

VELUM collection grid with three products, names, sizes, and prices

Material tiles. Kicker, headline, two-line deck, and Read more, with the whole tile as the link.

FORTIFY product detail page with price, quantity, and Add to Bag

Material page. Kicker back to the project, deck, byline, full-bleed photo, and a More materials list that excludes the current item.

VELUM demo bag drawer with two FORTIFY units and a 136 dollar subtotal

Journal. Cover images added to every entry.

ITERATION + RESPONSIVE

It passed in screenshots and failed on a real phone.

It passed in screenshots and failed on a real phone.

On an iPhone, material labels were 14px and body 17px, so the hierarchy was inverted, and tiles had no sign they were links. I rebuilt both in a news-app editorial pattern inside the template’s own fonts and colors: new Kicker and Card headline text styles, tracked section heads, a pull quote, and tiles that become list rows with a thumbnail and chevron on phone, with hover and press states.

VELUM collection section on mobile with CLEANSE card

Before: material page on iPhone

FORTIFY product purchase controls on mobile

After: editorial material page

After: tappable list rows

BUILD

Framer CMS with three new collections and three multi-reference fields on Projects, two React/TypeScript code components plus a shared store module, dedicated Tablet and Phone breakpoints, and CMS-driven page titles.

AI-DIRECTED WORKFLOW

I made the product and design calls; an AI agent executed them through Framer’s API: reading the tree, writing collections, wiring bindings, writing components, generating imagery, and running device checks. The loop that mattered was critique, precise brief, verified change.

QUALITY REVIEW

Checked on the published site, not just the editor: chip taps and aria state, 44px targets, a 350×121px tile hit area at 390px, and page titles. No performance metrics are claimed.

OUTCOME

What shipped

What shipped

Three opt-in sections (map layers, timeline, materials) that cost nothing for projects that don’t use them.

A reusable pattern for CMS lists that need shared interactive state across separate list instances.

An editorial material detail template, journal covers, and project imagery, live in production.

Next: persist layer state in the URL so a view can be shared, replace AI imagery with real project material, and run Lighthouse and an accessibility audit before publishing numbers.

Need a Framer site that grows with your content?

Need a Framer site that grows with your content?

I design and build CMS-driven Framer sites with custom components.

Start a conversation

View live website ↗

Okoro Vale Architects and the Yucca Valley House are fictional. All imagery and example content are AI-generated, and the build was directed with an AI agent.