How AI is powering better personalization in e-commerce [with Vercel]. Sign up now

Litteraturhuset

New website for Litteraturhuset: Europe's largest house of literature.

By Eivind Lindbråten & Jørgen Brynhildsvoll


Project Shots

The home page
Dynamic modules. In the backend you can select many different ways to fetch and filter events, and also how they should be rendered. Both of these lists are example of that.
Modules that can link to other documents
Calendar showing all upcoming events. Can be filtered in various ways. The filter state is stored in the search params so that we can link directly to a filter. This let's us create specific landing pages, e.g. for "Children" and then link directly to the calendar page pre-filtered on events for children.
The fully customizable menu. Also translatable.
Overview of all rooms at Litteraturhuset.
The system is very modular and customizable. This is a general content block with a grid layout that is being used for displaying podcasts.

Editing environment

A global configuration. Most fields are translatable.
Home page and page are mostly the same document structure. It's very modular.
Each section on a page can consist of many modules.
Each module has a layout option that let's you specify how the module should render on mobile, tablet and desktop. Each module can again have multiple different pieces of "content". There are 11 different content types. Like "Pictures", "Call to Action", "Rich Text", "Events", "Articles", "Page reference", "Accordion" etc.
Example of one of the "content types". This is "Events". Here you can see that we can show how it's rendered and the flexibility of how we can fetch and filter events.
Event document type.
This is a specialized document type used for generating various different newsletter Litteraturhuset sends out. You create the content structure using some of the content types used for building pages (and one custom content type). Using live preview you can see how it will look like. The email is rendered using React Email with Tailwind and custom font support. The publish button is replaced with a button that copies the generated HTML to the clipboard. The client can then paste the email friendly HTML into their newsletter service, Make (Norwegian). There are some special if syntax rendered that Make will take care of, so that subscribers will only see events from tags that they are interested in.