---
title: "Sechs Investorenseiten, zwei Templates, kein Entwickler auf Abruf"
description: "Drei Monate an einer Website für eine Investmentfirma in Hongkong. Warum das CMS auf dem Server des Kunden läuft, wie sechs Seiten aus zwei Templates entstehen und was vor dem Launch offen ist."
url: https://riteshkc.com.np/de/case-studies/noveon
source: https://riteshkc.com.np/de/case-studies/noveon.md
updated: 2026-04-01
site: "Ritesh KC"
---
# Sechs Investorenseiten, zwei Templates, kein Entwickler auf Abruf

Drei Monate an einer Website für eine Investmentfirma in Hongkong. Warum das CMS auf dem Server des Kunden läuft, wie sechs Seiten aus zwei Templates entstehen und was vor dem Launch offen ist.

- Project: [Noveon](https://riteshkc.com.np/de/work/noveon)
- Year: 2026
- Role: Full-Stack-Entwickler
- Stack: Next.js, React, TypeScript, Tailwind CSS, Strapi
- Published: 2026-04-01

Noveon is an investment firm in Hong Kong. It buys stakes in private equity funds from investors who need their money back before the fund matures, and it is building software to price those deals. I built the website: Next.js on the front, Strapi behind it, three months, one developer. The design arrived finished, from another studio.

> Screenshot (home hero): Die Startseite von Noveon: die Überschrift Asia's Global Private Equity Secondaries Platform über Videoaufnahmen der Skyline von Hongkong mit dem IFC-Tower.

One requirement sat under all the others. Noveon has no developer. After I left, a marketing lead and a compliance officer had to be able to change any word on the site, including the words on pages a regulator may one day read.

## Why the CMS runs on the client's own server

Contentful and Sanity would both model this content well. I ruled them out for a reason that has nothing to do with their features. The content would live in a vendor's account, and everyone who needs to fix a sentence needs a paid seat in it. The person correcting a disclosure here is a compliance officer who logs in twice a month. Charge that person a seat fee and the edits go by email to somebody else instead.

Markdown files in the repository fail sooner. A corrected job title becomes a pull request, and the firm is back to needing me on the day it wants the fix.

WordPress would hold the content well enough. The front end is Next.js, so I would be running a second system for the sake of its admin screen.

Strapi runs on a server the firm controls, on a subdomain beside the site it feeds. Editors are unlimited, the database is theirs, and the admin screen is a plain form. This is the second site I have built that way. The first was a product catalogue for [Marti China](https://riteshkc.com.np/work/marti-china), where the deciding factor was that hosted APIs are unreliable inside mainland China. Different reason, same answer.

## Six investor pages built from two templates

Noveon runs three investment strategies and sells to three kinds of investor: family offices, institutions and private wealth. That is six pages, and they are the pages a serious visitor opens first.

Building them as six separate page entries would have been quicker for about a week. Then somebody edits one. A heading moves on one page and not the other five, a figure gets a different label, and nobody notices until a prospect has two of them open side by side.

So there are two content types instead, one for a strategy and one for an investor. A strategy page leads with numbers. An investor page leads with what the firm will do for that reader. Each one is a single template with a single set of fields, so the sixth page renders from the same code as the first, and adding a fourth investor type is a new entry rather than a new page.

> Screenshot (strategy page): Die Seite Asia General Partner Solutions: ein blaues Band mit drei Kennzahlen zu Transaktionen, bereitgestelltem Kapital und betreuten GPs. — Eine von drei Strategieseiten. Alle drei sind dasselbe Template mit anderen Einträgen.

The dropdown in the header shows the same split: strategies in one column, investor types in the other.

> Screenshot (nav menu): Das geöffnete Investors-Menü über der Startseite: eine Spalte mit drei Strategien, eine mit drei Investorentypen, daneben ein Foto. — Das Menü ist das Content-Modell als Bild: drei Strategien, drei Investorentypen.

## Articles, podcasts and case studies are three types, not one

Noveon publishes three kinds of thing on three different schedules. They could have been one post type with a category field on it. They are not, because the fields are genuinely different: an article carries an author, a date and its own numbered sections, and the other two carry none of that.

> Screenshot (home insights): Insights-Band der Startseite mit drei Karten: zwei Podcasts und eine Case Study, jede mit eigenem Bild und Label. — Eine Karte für alle drei Inhaltsarten. Das Label ist der Content-Type.

What they do share is the card, the listing layout and the sort control, so the three feeds read as one publication. An article's contents list is generated from the sections in the entry, so a writer who adds a section gets a new row in the sidebar without asking anyone for it.

> Screenshot (article): Eine Artikelseite: links ein mitlaufendes Inhaltsverzeichnis mit markiertem Abschnitt, rechts die Abschnitte und Bilder des Artikels. — Das Verzeichnis entsteht aus den Abschnitten des Eintrags; ein neuer Abschnitt ergänzt eine Zeile.

## One page sells software instead of the firm

Noveon Labs is the firm's own product. Its page needed a vocabulary the rest of the site does not use: numbered features with a video for each, four short user stories, an FAQ, and a request for an invitation where every other page has a contact form.

> Screenshot (labs hero): Der Kopf der Seite Noveon Labs: die Zeile One Platform. Complete Secondary Intelligence., ein Absatz zum Produkt NAIP und ein Button für eine Einladung. — Die einzige Seite, die Software verkauft und nicht die Firma.

It also has to look like the company that publishes the disclosures page two clicks away, so it uses the same header, the same type scale and the same colours. A separate product microsite would have been easier to build and would have read as a different business.

> Screenshot (labs faq): FAQ von Noveon Labs: vier zugeklappte Fragen zum Produkt, daneben eine Karte, die eine Antwort per E-Mail anbietet.

## The design is motion, and the copy comes out of a form

The studio delivered the design as movement. The site opens with a full-screen brand sequence, sections assemble as you reach them, and one row of cards is dragged sideways instead of clicked through.

> Screenshot (splash): Das Eröffnungsbild der Website: die Wortmarke Noveon und die Zeile Mastery of Private Markets über einer Zeitlupenaufnahme eines Koi. — Beim ersten Laden läuft dieses Bild vor der Startseite. Der Auftritt der Marke, kein Ladebildschirm.

Animation like that is easy to build against copy that never changes and awkward once an editor owns the copy. A card holding two lines today holds six after somebody rewrites it. A grid of four becomes a grid of three the moment an entry is deleted, and an entrance timed to four items then plays a beat of empty space. So each animated section takes whatever the CMS hands it and stages that, instead of animating a layout I measured once.

The values row is the clearest case. Four cards today, dragged sideways, progress bar underneath. Delete one in Strapi and it is three cards, and the row still behaves.

> Screenshot (core values): Die Werte-Leiste: vier Bildkarten mit den Titeln partnerschaftliche Ausrichtung, diszipliniertes Investieren, Innovation und Verantwortung. — Ziehen zum Weiterblättern, Fortschrittsbalken darunter. Nichts in der Komponente setzt vier voraus.

## What is left before it launches

The site is not live. noveoncapital.com is still closed, and the address I worked against is the review build.

The client's remaining work is words. Two of the strategy pages still show placeholder figures, the insight entries are test rows, and one policy page has not been written. Every field those need is built and waiting.

Mine is narrower. The pages fetch their content from Strapi in the browser, which is fine behind a review URL and wrong for a public marketing site: a crawler that does not run JavaScript sees an empty shell, and every route currently shares the title "Noveon". Moving those fetches to the server is route-by-route work in the App Router rather than a rebuild, and it is the first thing I do when a launch date is set.

> Screenshot (contact): Die Kontaktseite: links E-Mail-Adresse und Büroadresse in Hongkong, rechts ein Formular mit fünf Feldern auf dunkelgrüner Fläche.

What the firm has now is a site two of its own staff can run: two logins, and no deploy between either of them and a correction.
