Built for Forrest • Proof-of-concept • Same architecture I would ship in Webflow

One template. One CMS Collection. Four school pages.

Each of the four schools below is rendered by the same template file (school.html) from a single CMS Collection (cms.json). Brand colors, deadlines, counselor message, and monthly tasks all come from CMS fields. Click any card to open that school's page.

What this demo proves. The four pages below are not four HTML files. They are one school.html + one cms.json + one render.js. The renderer reads ?slug= from the URL, finds that entry in the Collection, and applies every field through data-field / data-if / data-template attributes. Those attributes are a 1:1 stand-in for Webflow's CMS Bindings, Conditional Visibility, and Collection List settings. In Webflow Designer the same logic is configured through the Element Settings panel with zero custom JS.

Test it: scroll past the hero on any school page. Riverside has no Counselor Message or CTA in its Collection Item. Those cards disappear, rather than render empty. Valley Charter ships only three months, so only three collapsible rows render. Add a fifth school to cms.json and it appears instantly with no template change.