Websites

A website someone
can actually keep.

The launch is the easy part. What counts is whether the people in the organisation can still update it six months later without calling anyone.

Talk it through →
Three sizes

From a business card
to a whole portal.

01

The company site

A handful of pages that have to load fast, look right on a phone and say clearly what the company does. Small, but not a reason to work sloppily.

02

The editorial site

Several editors, a publication schedule, categories, archives, newsletters. Here the backend matters more than the front page, because that is where the daily work happens.

03

The portal

Logins, member areas, subscriptions, paywalls, data coming in from other systems. At this point a website is a web application with a public face.

In use every day

A trade magazine
and everything under it.

htr hotelrevue is the trade paper of Swiss hospitality, and the whole system beneath it was built here: the TYPO3 site, the paywall, an editorial extension shaped around how this newsroom actually works, the e-paper and the classifieds that advertisers book themselves. The htr team runs it every day — we keep the machinery underneath.

More of our work
Clay-motion still life: a miniature folded newspaper with a cardboard-and-clay tablet emerging from it, a tiny classified in front
Our CMS of choice

TYPO3, and why
we stayed with it.

We have built on TYPO3 for years. Not because it is fashionable — it is not — but because four of its properties keep mattering once a site grows past a few pages.

Several sites, one installation

Sister sites, campaign sites, a separate careers site — all maintained in the same place. One update instead of five, and one place to look when something is wrong.

Languages that are not an afterthought

German, French, English side by side, with translations tracked against the original. In Switzerland this is rarely optional for long.

Fast because of caching, not luck

Caching is built into the core, and a Varnish layer on our own servers does the rest. Speed stays a property of the setup, not a thing to fix later.

Open enough to extend

Where a feature is missing, we write an extension instead of working around the system. Interfaces to other systems go the same way — properly, not bolted on.

TYPO3ExtbaseFluidPHPVarnishMariaDBREST
Website without a CMS

Not every site
needs a CMS.

For a handful of pages, a content management system is often more overhead than help — an editor to learn, an installation to update, a login nobody remembers. With MADLAB // Tools a site is written and maintained through the language model you already talk to, and published from the same conversation.

With MADLAB // Publishing you build and maintain such a website with Claude, ChatGPT or another AI assistant – with preview, versions and hosting in Switzerland. The first website is free.

Read the case study Build a website with AI ↗ MADLAB // Tools

Clay-motion still life: a cardboard machine with a clay speaking horn, a sheet with a page layout rising from its top slot
Clay-motion still life: a cardboard laptop beside five flat clay blocks lying ready like building bricks
The editorial side

Built for the people
who fill it.

A beautiful site that nobody dares to touch goes stale within a year. We build page elements as blocks that can be combined, with sensible defaults — so a new page looks right even when nobody reads the manual first.

And afterwards

Hosted where
we can reach it.

Most of the sites we build run on our own infrastructure near Bern — with updates, monitoring and backups included, and without a support queue in another time zone.

Our datacenter
Before anything is built

Understand. Plan.
Build. Grow.

Even a small site goes through the same four stages. It just moves faster through them.

How we work
Services

What else
we work on.

Let’s talk

Relaunch, or just
get it moving again?

Sometimes a site needs rebuilding. Sometimes it needs someone to take an honest look at what is already there. Both conversations are worth having.

Start a project →

Bern —