Skip to main content
Recipe website homepage showcasing various delicious meals and categories.
TINE Kjøkken — Recipes — image 2

1 / 2

DevelopmentTINE Kjøkken

Recipes

Completed202416

Overview

Frontend rebuild for TINE Kjøkken from September to December 2024, using Next.js with Enonic XP as the content backend.

I worked on dynamic routing, reusable page templates, caching and recipe structured data while keeping the existing editorial workflow.

From September to December 2024, I rebuilt TINE Kjøkken’s frontend with Next.js while retaining Enonic XP as the content backend. The site brings together recipes, seasonal campaigns and editorial pages.

The goal was not a greenfield recipe app. Editors already worked in Enonic; the new layer had to respect that workflow, ship on a fixed timeline, and feel faster and more maintainable than what it replaced — without breaking URLs people bookmark.

The brief

Replace the existing presentation layer with a Next.js frontend connected to Enonic as a headless CMS. Recipe pages, category hubs and campaign pages needed reusable templates, with performance and search discoverability built into the approach.

What I built

  • Dynamic routing — catch-all paths mapped to Enonic content types so editors can publish new sections without a deploy.
  • ISR and caching — incremental static regeneration so popular recipes stay fast while content updates propagate on a sensible schedule.
  • Structured recipe data — schema markup and typed content models so search engines and on-page UI get consistent ingredients, steps, and metadata.
  • Template system — reusable layouts for recipes, articles, and campaign pages instead of one-off pages per launch.

Stack

Next.js on the frontend, Enonic XP as the headless CMS and API layer. My work sat in the glue between them: fetching, normalising, and rendering Enonic content — plus the routing and caching strategy that keeps thousands of pages from feeling heavy.

The hard part

The main challenge was supporting varied editorial content through reusable templates. Editors needed to publish recipes and campaigns without developer involvement, while routing and caching kept the frontend manageable.

What I took away

The rebuild went live after four months. It reinforced the importance of clear content models, reliable routing and caching decisions that support future campaigns.

Live site: tine.no/kjokken