coresmith.dev
← All work

Createli Group — custom furniture

Website · furniture manufacturerRomaniansololiveOpen the site
The problem

One workshop, two buyers who share nothing.

Createli builds custom wood furniture for homes and equips schools and kindergartens. A family choosing a kitchen and a procurement officer buying forty desks are not looking for the same page, and they do not read the same words. One site had to serve both without turning into a catalogue that serves neither.

The approach

The split happens on the first screen.

The hero offers the two directions as two buttons, and each leads to a page written in its own language: materials, finishes and fitting for the home; durability, dimensions and institutional supply for schools.

Products are data, not pages. Each item has its own route generated from the API, so adding one is a database row rather than a deploy.

The architecture

React in front, rendered to static HTML at build.

Vite and React with an Express API behind it. Every marketing route and every product page is rendered by a headless browser during the build, so a crawler or a social scraper receives complete HTML with the meta that belongs to that page — not an empty shell that only fills in after JavaScript runs.

The prerender runs against a local server, not against the live site. That keeps the build self-contained: no deploy depends on a previous deploy still being up.

ReactViteTypeScriptTailwindshadcn/uiExpressPuppeteer prerenderreact-helmet-asyncPM2nginx
The outcome

Thirteen routes that arrive complete.

0.000layout shift
2.3 slargest paint
13prerendered routes

Measured on the live site: nothing moves while the page loads, and the largest element paints inside Google's threshold for good.

Need something like this?

Start a project