MICHALINAKOWALCZYK

Content Infrastructure System

V7Growth Systems EngineerSep 2024 — Dec 2025

A three-component data pipeline for 12,000+ CMS records across 6 interconnected collections, generating 2,000+ dynamically searchable pages.

12,000+
CMS records
2,000+
generated pages
6
interconnected collections

The Problem

V7's marketing site kept growing. First an agents library, then document types, then an integrations directory that needed to interlink with existing content. Each new section meant more CMS records, more cross-references between collections, and more demand on the search and filtering components I'd built earlier. The system needed to support 12,000+ records across 6 interconnected collections and keep scaling without rebuilding every time.

What I Built

A three-component data pipeline: a custom Framer plugin that exports and normalizes CMS data across 6 collections, a Vercel serverless API that stores it as public JSON, and React search/filter components that make thousands of records instantly searchable with URL-synced state. The whole system lets the content team publish independently while the data stays consistent.

The Result

2,000+ dynamically generated pages. Sub-second client-side search across thousands of records. Non-technical team publishing independently. Real-time content updates without deployments.

Architecture

Framer CMS (12,000+ records, 6 collections)
        ↓
  CMS Exporter Plugin (normalize + resolve cross-references)
        ↓
  Vercel Serverless API → Blob Storage (public JSON)
        ↓
  React Search/Filter Components (client-side, URL-synced)
        ↓
  Production Directory Pages (agents, integrations, docs)

Tech Stack

ReactTypeScriptFramerNext.jsVercel ServerlessBlob Storage