3d-playground.de is live: a hobby on its own infrastructure – and a monetization experiment

My third site in the CARECOM® family is online: a playground for everyday 3D design and printing. This time no profession and no client, but a hobby – on two dedicated domains, shared technology, and with openly disclosed monetization.

ConsultingHarald Mühlhoff 3 min read

OG card of 3d-playground.de: the 3D logo, the claim „Designed it, printed it.“ and the subtitle „3D design and printing for everyday life“

After carecom.de and bestes-wetter.de, the third site in the CARECOM family is now online: 3d-playground.de isn't about my profession or about clients, but about a hobby of mine – 3D design and 3D printing. The claim says it all: „Designed it, printed it."

What it's about

3D printing fascinates me because it turns a concrete need into a tangible object in next to no time: a spare part you can't buy any more; a little helper for the kitchen or bath; a gift, a piece of a toy. On 3d-playground.de I share projects like these – sorted by area such as kitchen, bath, household, garden, gifts and spare parts – and usually with the full, commented source to rebuild them.

Built, not sculpted

The part I find most exciting – and the bridge back to this site here: I don't design my objects with a mouse, but as a program. OpenSCAD describes a solid through commands like cube, cylinder and sphere that can be moved, rotated, combined and subtracted from one another. Dimensions sit as variables at the top of the code – a different hole spacing, a different wall thickness? Change one number, re-render, done. The same developer reflex as in my day job – parameterisation, reuse, clean source – just in plastic instead of C#.

Two domains, one infrastructure

Technically the site deliberately joins the family while showing something new. It is bilingual, but unlike its siblings each language lives on its own domain: the German version canonically on 3d-spielplatz.de, the English one on 3d-playground.de. Both run on the same application; depending on the domain it serves the matching language, sets the correct canonical and hreflang signals, and consolidates diverging spellings (with/without www, swapped language paths) via permanent redirects to the right address. So Google and visitors see the German and English versions as equal siblings rather than duplicate content – and each language has its own clean brand name.

Underneath sits the same foundation as the sister sites: a Blazor Web App on .NET, server-side pre-rendered, with the shared component library (multi-language, the SEO toolkit with sitemap, cookie banner, mail delivery). Content is thought of as data – each article a Markdown text next to slim XML metadata – so writing stays close to plain text while the result remains structured.

A hobby – and a monetization experiment

One point I want to address openly: 3d-playground.de isn't only meant to share a hobby, it should eventually pay for itself. That is funded through two channels – affiliate links to retailers and, in time, classic display ads. Both are clearly marked in the layout, and your price doesn't change because of them. I only recommend materials and tools I use myself or would have deliberately chosen; I name drawbacks as openly as the benefits. In that sense the site is also an honest little experiment for me: can a niche hobby be monetised cleanly, transparently and without annoying intrusiveness? The answer is still out – the attempt has begun.

Come and have a look

It's best experienced first-hand, of course. If you fancy 3D printing, OpenSCAD and small everyday solutions to rebuild, you're warmly welcome on 3d-playground.de (or 3d-spielplatz.de in German). And if you'd like to know how something like this – from multi-language to the domain strategy to monetization – could be built for your own project: that's exactly what CARECOM Consulting is for.

Yours, Harald Mühlhoff

An unhandled error has occurred. Reload 🗙

Rejoining the server…

Rejoin failed… trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.