rapidlaunchcode.app
Enterprise StarterAdvisoryEngineeringProductsWritingAbout
Book a call
rapidlaunchcode.app

Independent technology advisory and engineering. København, Denmark.

Njalsgade 21F, 2. sal, København

CVR 45 44 13 93

Nicklas@rapidlaunchcode.app

WhatsApp +45 31 33 25 99

Work

  • Enterprise Starter
  • Advisory
  • Engineering
  • Products
  • Contact

Resources

  • Writing
  • Guides
  • Free tools
  • About

Elsewhere

  • HourIQ
  • Translately
  • NomadWorld
  • Privacy

© 2026 Rapid Launch Code ApS. All rights reserved.

Built in København with Next.js, Contentful, and zero consultancy bullshit.

Back to writing
2026-05 · 4 min

The 5 unbilled months hidden in every Contentful enterprise build

Every Contentful enterprise build I have audited carries the same five hidden months. None of them appear on the statement of work. All of them appear on the timeline.

On this page
  • Month 1 — Dynamic link references
  • Month 2 — The redirect engine
  • Month 3 — Real internationalization
  • Month 4 — Schema-driven forms
  • Month 5 — End-to-end type safety
  • Build it, or buy a foundation that already has it
Updated 2026-05
TL;DR
  • Contentful sells you a content model and a CDN. It does not sell you a Contentful enterprise starter.
  • The five missing pieces below are billed as content work, then absorb a senior engineer for 5–6 months.
  • They are the same five every time: dynamic link references, a redirect engine, real internationalization, schema-driven forms, and end-to-end type safety.
  • Either you build them once, slowly, on every project — or you adopt a foundation that already has them.

Month 1 — Dynamic link references

On day one, editors paste full URLs into rich-text fields and CTA buttons. It works in staging, ships to production, and quietly rots. The first slug refactor — six months in, when SEO finally weighs in — breaks 200 entries silently. Now the team writes a one-off scanner. Then a one-off fixer. Then a one-off CMS migration. That is a month.

The fix is not exotic. A typed linkReference field that points at the target entry, resolved at fetch time. Same UX in the editor, no string anywhere. Three days to design, two weeks to retrofit across every block, two more weeks to migrate the existing rich-text content. Five weeks. The team books it as 'content cleanup'.

Month 2 — The redirect engine

There is no redirect engine in vanilla Contentful. Every URL change becomes an engineering ticket: edit a config file, open a PR, deploy. Marketing waits a sprint to retire a campaign URL. The SEO team learns not to ask. Four months in, somebody finally builds it: a redirect content type with regex/wildcard support, evaluated at the proxy edge, plus a webhook that auto-writes a redirect entry whenever an editor renames a slug.

It is two weeks of senior work, plus another two weeks of catching the slug changes that already broke. A month, gone. The team books it as 'SEO infrastructure'.

Month 3 — Real internationalization

The project starts with one locale and 'we'll add more later'. Later arrives, and the foundation is missing: no fallback chain (a Danish entry with no Danish copy returns null), no localized slugs (URLs stay English in every market), no CMS-driven dictionaries (UI strings live in JSON files marketers cannot touch). The localization vendor sends translations and discovers there is nowhere to put them.

Building it properly is a month: locale fallback baked into every CMS query, localized parent and child slugs, hreflang generation, default-locale URL hiding, and a localizedDictionary content type with token interpolation. The team books it as 'translation work'.

Month 4 — Schema-driven forms

Marketing wants a new lead-capture form for a campaign starting Monday. The current setup hardcodes forms into React components. Engineering ships a release for every field. By month four, somebody has had enough and rebuilds it: a form content type with a typed field schema, a single renderer, validation rules in the CMS, and an action endpoint that writes to whatever your CRM happens to be.

Three weeks to build, one week to migrate the existing forms, one week to train marketing on the new editor UI. A month. The team books it as 'marketing platform'.

Month 5 — End-to-end type safety

By month five, the codebase is full of fields.title.en-US and fields.body.fields.content[0].fields.text. A field rename in Contentful breaks runtime in production. A junior engineer ships a regression nobody catches. The team finally bolts on graphql-codegen against the live CDA schema, with a drift detector that fails CI when types and CMS diverge.

Two weeks to wire the codegen pipeline, two weeks to retrofit every fetch site, one week to fix the bugs that the new types surface. A month. The team books it as 'tech debt'.

Five months. Same five every time. None of them on the SOW.

Build it, or buy a foundation that already has it

These five months are not a sign of a bad team. They are a sign that vanilla Contentful does not ship a production foundation, and the foundation is the same on every project. Either you build it once, slowly, on each new build — and pay senior salaries for it every time — or you adopt a foundation that already has all five solved.

Our Contentful enterprise starter for Next.js 16 is the productized version of those five months. Dynamic link references. A redirect engine with auto slug-change webhooks. Real internationalization. Schema-driven forms. End-to-end type safety with drift detection. Delivered as source to your repo, perpetual license, no SaaS.

If your last build hit four of these five, the next one will too. Plan accordingly.

What to actually do
  • Every Contentful enterprise build absorbs the same five hidden months: link references, redirects, i18n, forms, type safety.
  • None of them are on the statement of work. All of them are on the timeline.
  • They are not a team problem; they are a missing-foundation problem.
  • Build them once on every project, or adopt a foundation that already has them.
  • See how the Contentful enterprise starter for Next.js 16 closes all five out of the box.

Want this kind of judgment on your project?

I read every email within one working day. Bring a project, a quote, or a system you're stuck on.

Book a 30-min callSee the Enterprise Starter
More writing
  • 2024-03

    Why simple architecture always wins

    Complex systems fail in complex ways. The most successful projects I've seen are the ones that resisted the urge to over-engineer.

  • 2024-02

    The microservices trap

    How the industry convinced everyone they needed distributed systems, and why most companies would be better off with a modular monolith.

  • 2024-01

    The real cost of custom development

    Custom software isn't just the initial price. It's maintenance, updates, and the opportunity cost of not using existing solutions.