skip to content
lav.ren / projects / nona

Nona

Kunstencentrum Nona in Mechelen — theatre, jazz, dance and exhibitions on one Drupal site, wired into the Ticketmatic platform the venue sells through. Its search runs entirely in the browser: the whole content index ships as JSON, so there is no search server to keep alive.

live·2023Design by Volta
Year
2023
Role
Developer at Volta — theme, integrations and module work
Stack
DrupalTwigTailwind CSSFuse.jsPHPJavaScriptSearch API

Kunstencentrum Nona is the multidisciplinary arts centre in Mechelen — theatre, jazz, dance and exhibitions, plus a handful of recurring programmes with identities of their own. A venue site like that is a calendar with a shop attached, and the hard part is the shop.

I was its developer for two years. The brief was not a quiet corporate site: the design leans hard on type and colour, and most of what follows is about making that hold up as something a small team can actually run every week.

Search that needs no server

The part I would defend in a review is the search. Rather than standing up a search server, the site ships its whole content index as JSON and does fuzzy matching in the browser with Fuse.js.

The reasoning was operational, not clever. A venue’s archive is small enough to fit in a JSON payload, and a search server is a service someone has to keep alive, patch and pay for — plus a failure mode where the box is down and the site looks broken. Doing it client-side removes the server, removes the latency, and means someone half-remembering a play’s title still lands on it.

Lettering, one character at a time

Nona's homepage headings, each letter individually outlined in pink and green

The design called for display type with offset outlines that stack and overlap — easy in a layout tool, awkward in a browser, because the effect has to survive arbitrary editor-entered copy in two languages.

Every heading is split into individual characters, each wrapped and styled on its own, so the outlines land per-letter instead of around the whole text block. It reflows at any width and works with whatever an editor types, which was the actual requirement: the effect had to be a property of the theme, not something hand-tuned per page.

Nona's horizontally scrolling homepage gallery

The homepage gallery scrolls horizontally and wraps around rather than hitting a wall at either end. That is done by cloning items at both ends of the track, so when a visitor reaches the edge they are already looking at a copy and the scroll position can be moved without anything visibly jumping.

It is paired with CSS scroll snapping, which means the browser handles the physics — no scroll-position maths on every frame, and it behaves correctly with a trackpad, a touchscreen and a keyboard without three separate code paths.

Then, two years of keeping it correct

Underneath the visible work sat the ordinary business of a multilingual culture site: the Ticketmatic integration that carries a visitor from “what’s on this week” to an actual seat, newsletters, language routing, forms that spam bots leave alone, and the shared culture-sector module stack that seven other Flemish venues also run.

Nona has run its programme on it since 2023.

TILL SLIP

  • First commit2023.05.15
  • Last commit2025.06.05
  • Commits by me245 of 475
  • Custom module files touched82

Share of the repo52% — just over half, across two years.

made of

  • 01Drupal
  • 02Twig
  • 03Tailwind CSS
  • 04Fuse.js
  • 05PHP
  • 06JavaScript
  • 07Search API

not returnable · it shipped