skip to content
lav.ren / projects / erfgoeddag-antwerpen

Erfgoeddag Antwerpen

An interactive map of every heritage-day location in Antwerp — walking routes, geocoded points, and filters the city's own editors control. Built on a filter engine I owned across the agency's client sites, extended here with maps and route data.

live·2023Design by Volta
Year
2023
Role
Developer at Volta — front end, map and filter integration
Stack
DrupalPHPTwigReactJavaScript

Erfgoeddag is Flanders’ heritage day. Antwerp’s edition opens a few hundred locations to the public for one day — museums, workshops, private houses that are shut the other 364 — and the whole site exists to answer one question: what’s near me, today, that suits who I’m bringing?

The participants map

I built the page that answers it: a map of every participating location, with GPX walking routes drawn between them and geocoding turning the addresses editors type into points that land in the right street.

The map is a React front end fed by a REST endpoint out of Drupal. That split is what lets it take a few hundred locations without pagination — a heritage day is one day, and telling somebody deciding where to go this afternoon to click through to page four is not an answer. Everything loads, and the filters do the narrowing instead.

The filters belong to the editors

The part worth pointing at is not the map itself. It is that someone at Stad Antwerpen tags an activity family friendly in Drupal and it appears as a filter on the map — no developer, no deploy, no ticket.

Getting there meant threading a field all the way from the Drupal content model through the REST endpoint into the React front end, so the editorial vocabulary and the visitor-facing filters cannot drift apart. When the two are wired separately they always do drift, usually a week before the event, and then the filter shows a category nothing is tagged with.

A shared engine, extended here

The filter front end was not built for this site. I built and maintained it as a shared component across several of the agency’s client sites, and Erfgoeddag is where it gained map and route support. What it gained here went back to the other sites running it, which is the argument for having one of these rather than four.

What is left to look at

An Internet Archive capture of the Erfgoeddag Antwerpen homepage, showing the theme's card grid of inspiration articles under the blue header

The site has since been rebuilt by another studio, so there is no live link here: the address still works, but what it serves is somebody else’s design. The screenshot above is an Internet Archive capture from while it still ran the build described here — the theme, the header, the card grid. The map and its filters are not shown, because the archive never captured the endpoint that feeds them; what is preserved renders as an empty map, and an empty map is not evidence of anything.

I kept the site current through two heritage days on the city’s own domain, and through two years of consent, analytics and anti-spam changes after launch.

TILL SLIP

  • First commit2023.12.22
  • Last commit2025.06.24
  • Commits by me126 of 235
  • Heritage days it ran2

Share of the repo54% — on the city of Antwerp's own domain.

made of

  • 01Drupal
  • 02PHP
  • 03Twig
  • 04React
  • 05JavaScript

not returnable · it shipped