# ECCA conference platform

> I built ECCA's conference platform with Next.js and Sanity: reusable pages, visual editing, on-demand revalidation and weekly dataset backups.

Canonical: https://augustynglowacki.com/work/ecca-conference-platform

- **Client:** European Crop Care Association (ECCA)
- **Live site:** [https://conference.ecca-org.eu/](https://conference.ecca-org.eu/)
- **Stack:** Next.js, Sanity CMS
- **Year:** 2025

I built ECCA's conference platform on my own and shipped it in April 2025. The team controls the website content through Sanity, including conference pages, the programme, speakers and registration links.

I designed a modular content model with reusable marketing sections. Editors can assemble new pages, add content for a particular page and reuse shared entries across the site. A change to a shared call to action updates every page that uses it.

The Next.js frontend uses React Server Components and cached static pages with on-demand revalidation. Sanity's Presentation Tool lets editors preview changes in the page layout. I also set up automatic weekly backups of the Sanity dataset.

## What ECCA can change

Conference sessions reference speaker entries, so a corrected biography or affiliation appears wherever that speaker is listed. Sponsors, media partners and members have separate logo lists. The team can also publish gallery photos without changing the programme.

## How an agenda edit reaches the live page

### Edit and preview in Sanity

ECCA changes a session time or speaker entry and checks the result in Sanity's Presentation Tool. The change stays a draft while the team works on it.

### Publish the change

Publishing triggers revalidation of the affected content in Next.js. The team does not need to deploy the site again.

### Next.js refreshes the cached page

Next.js generates the updated page when it is requested, then serves the refreshed version from cache. Updates appear on the site within a few seconds of publishing. I describe the same approach in [Static Generation at Request Time in Next.js](/posts/static-generation-at-request-time).

## Get a website you can edit yourself

I build websites with a headless CMS such as Sanity, with editing controls for the content your team manages. You can create pages, preview changes and publish routine updates without a developer.

[Website with a headless CMS](/services/website-with-a-headless-cms)
