The Challenge
STOLPEK Interiér is our family carpentry business in Bratislava. My father has been making furniture since 2001, and today we run it together under my company. We design, manufacture and install custom kitchens, built-in wardrobes and made-to-measure furniture for homes in Bratislava and the surrounding towns, and fit-outs for hotels, offices and developers.
The problem every kitchen maker has, us included: customers can’t picture how a door colour or worktop decor will look until the kitchen is installed, and most of them start their search on Google with “kitchen made to measure + my town”. I wanted our website to do two things well: let people play with materials before we ever meet, and rank locally across Bratislava and its suburbs.
The Approach
I built the site on Astro with fully static output and almost no client-side JavaScript. The pages are plain HTML and CSS, served from the Cloudflare edge as a Worker with static assets.
Key decisions:
- 3D kitchen configurator in the hero. A real kitchen exported from SketchUp, rendered with three.js. Visitors rotate the kitchen and swap decors on the doors, worktop and wall from 90 Egger decors. The chosen decor codes go straight into a pre-filled WhatsApp message, so our first conversation with a customer starts with concrete materials.
- Performance first. The model is compressed with meshopt from about 8 MB to 1.9 MB, and three.js loads only after the page is rendered. On phones, with data saver on or without a GPU, visitors get a static preview and the 3D view starts only on tap.
- Local SEO at scale. 26 landing pages (kitchen and wardrobe types, B2B segments, and locations such as Senec, Pezinok and Malacky) are generated from one typed data file. Each page has
Service,FAQPageandBreadcrumbListstructured data, and the whole site describes our business as aHomeAndConstructionBusinesswith service areas. - Ready for AI search. Articles have a Markdown copy for AI assistants, plus
llms.txtandllms-full.txtsummaries of the site. - GDPR by design. Nothing loads before consent: GA4, Google Ads and the Meta Pixel run through Google Consent Mode v2 in strict mode under Slovak law. Contact is WhatsApp, phone and email, with every click measured as a lead event.
Technical Highlights
The configurator maps decors to surfaces by SketchUp material name, so a new kitchen export works without code changes. The decor picker floats over the model with a fixed height, so changing materials never shifts the page layout, a detail that keeps Core Web Vitals clean even with a 3D scene above the fold.
Separate 3D viewers on the subpages show a built-in wardrobe with working sliding doors and a TV wall with a sliding panel and LED lighting, using the same optimisation pipeline.
Results
- 41 static pages served from Cloudflare’s edge, with no server to maintain
- Interactive 3D kitchen with 90 real Egger decors that feed directly into WhatsApp enquiries
- 26 local and B2B landing pages with structured data for Bratislava and surrounding towns
- Consent-first analytics with lead tracking for WhatsApp, phone, email and configurator use
See it live at stolpekinterier.com.