Sanity CMS — marketing layer over NetSuite products (9 brands)

Work at Orlando Foods. Internal details and brand names anonymized where appropriate.

TL;DR

I built a Sanity CMS that sits on top of NetSuite, which stays the source of truth for products. It adds a marketing content layer where our team prepares content for 9 brands — from social media to websites — with custom spec-sheet generators, views that show what’s missing, and a product dashboard.

Context

What I built

Marketing content layer

A structured content setup in Sanity where each NetSuite product gets a layer of marketing fields: descriptions, images, social copy, website content, and brand-specific fields. The NetSuite data stays the source of truth — the CMS only adds what marketing needs.

Custom spec sheet generators

Custom generators inside Sanity build formatted product spec sheets straight from the structured data. What used to be assembled by hand now takes a few clicks — same formatting every time, correct data, ready to export.

Product views that show what’s missing

Views that let the team filter and group products by brand, category, completeness, and status. Missing fields show up right away — no need to open each product to find them. Content audits are fast, and it’s obvious what to fix first.

Product dashboard

A dashboard that shows product counts — total, by category, by brand, by completeness — so the team can see the state of the catalog at a glance, with no reports to run.

What it solved