Back to projects

Content architecture

Case-study publishing model

The projects system is being shaped as an editorial model first. It should work with local structured data today and a CMS collection later without changing the public route strategy.

Overview

Project summary

The portfolio is being designed around publishable snapshots that can later grow into fuller narratives. Each project entry is expected to explain context, delivery choices, and the kind of outcome the work enabled, without turning every case study into the same template.

Status
In progress
Period
Current
Effort
Snapshot first
Content model
Project records
Route pattern
/projects/[slug]
Goal
CMS-ready without CMS lock-in

Technical notes

Context, implementation, and next work

The sections below keep the page readable as documentation: a short explanation followed by concrete notes.

Challenge

Project proof needs structure before a CMS exists

The site needs project pages now, but the content model should not be so route-specific that a future CMS migration requires a rewrite.

  • Keep content structured enough for future collections
  • Avoid hiding important proof inside untyped page markup
  • Separate external project links from Noliv-owned detail routes

Approach

Use local records that resemble future CMS entries

Each project uses a stable slug, summary fields, image records, metrics, detail sections, stack links, and CTAs. A CMS adapter can later replace the source while preserving the rendering components.

  • Stable slugs and generated static params
  • Typed gallery assets with alt text
  • Reusable detail sections instead of one-off page copy

Next

Add a CMS adapter only when the editorial workflow needs it

The current structure keeps the repo simple. When publishing volume grows, the same fields can map to a CMS schema and the route can read records through a single data helper.

  • Add draft and published states when editorial review matters
  • Reference related people, services, and assets by ID
  • Keep build-time generation for public project pages where possible

Content model

CMS handoff notes

The page is still backed by local TypeScript records, but the data shape is intentionally close to a future CMS collection.

  • Slug, title, category, status, summary, and SEO description
  • Repeatable detail sections with optional bullet lists
  • Project artifact CTA and internal detail route stored separately
  • Gallery assets modeled as ordered records with alt text