Why blog, notes, and community are separate

We did not force essays, working notes, forum threads, and product pages into one CMS. Different jobs need different tools—and one operator still has to make the whole thing feel like one company.

The temptation of one box

A single domain with everything inside looks tidy on a whiteboard. One login. One theme. One sitemap. For a small team, that tidiness is expensive in the wrong place: you bend a blogging tool into a forum, or a wiki into a marketing site, or a marketing site into a place where rough notes should live. We tried the mental model of “just put it all on the main site.” It collapses categories. Long-form writing wants subscription, RSS, and editorial polish. Build logs want speed and imperfection. Questions want threads and moderation. Product trust pages want stable URLs for privacy, contact, and about. Forcing those into one shape produces either a messy CMS or a thin hub that only links outward and has nothing of its own to say. There is also a maintenance tax. One mega-site means one outage domain for every kind of content. A Ghost upgrade should not risk taking down community threads. A forum plugin experiment should not risk the privacy page. Separation is operational hygiene as much as information architecture.

Roles we actually assigned

So we split by job, not by vanity subdomain count. • Blog (blog.goodtek.xyz) — polished long-form, subscribe, SEO. Ghost fits that job. • Notes (notes.goodtek.xyz) — short build logs, decisions, wiki-like pages. Quartz fits that job. • Community (community.goodtek.xyz) — questions and ongoing threads. NodeBB fits that job. • Main (goodtek.xyz) — who we are, how to start, policies, products, guides, and fresh excerpts from the other channels. Same operator. About and privacy pages cross-link so a reviewer—or a human—can see the channels are intentional, not abandoned microsites. The main site is the front door; it is not supposed to be a second blog that reprints everything. Cross-links matter more than matching visual chrome. Visitors should be able to move from About on the main site to About on the blog and recognize the same operator. Matching logos help; matching facts help more.

What the main site is for

goodtek.xyz answers first-visit questions: where do I go (/start-here), what do you build (/apps, /guides), who are you (/about), how do I reach you (/contact), and what are the rules (/privacy). It also holds documents that belong on the apex: product how-tos like /guides/vibepulse, and retrospectives like /stories. Those are not Ghost reprints. They are hub documents—stable, linked from navigation, written for people who land on the company domain first. Excerpts on the home page pull titles and summaries from blog, notes, and community. That is a hub behavior: show what is fresh without hosting every paragraph twice. Full essays stay on the blog. Full threads stay in community. Full scratch notes stay in notes. When we thicken the main site, we write for the apex on purpose. Guides and stories are not a sneaky mirror of Ghost. They are the documents we are willing to maintain next to trust pages and product entry points.

The tradeoff we accepted

Split domains cost an extra click. They also cost separate deploys and a little more explanation in About. In return each stack stays fit for purpose instead of becoming a compromised mega-CMS. There is a second tradeoff that matters for trust and review. Outsiders who only open the apex can misread a clean hub as “thin”—especially if the long writing lives on a subdomain. That is a real risk. Our answer is not to duplicate blog posts onto the main site. Our answer is to put enough original guides and stories on the apex that the company domain stands alone as a place with substance, while the blog remains the home of long build essays. If you are choosing a similar split: name the job of each channel in one sentence, put trust pages on the apex, and resist reprinting. Duplication feels like thickness; unique pages are thickness. We would rather explain the split once in /about and /stories than silently collapse everything into a CMS that serves no job well. Clarity beats convenience when the alternative is a pile of half-features.

How this looks from the outside

An outside reviewer does not owe us credit for a clever architecture. They see URLs and readable text. If the company domain is thin, the company looks thin. That feedback is useful even when it stings. Our response is structural, not theatrical: keep long essays on the blog, keep operable and retrospective writing on the hub, keep trust pages accurate, and refuse duplication that only exists to inflate word count. Thickness without uniqueness is still thin.

Where to go next

Start here: /start-here. Product overview: /apps. vibePulse setup: /guides/vibepulse. More hub writing: /stories. Blog for longer essays: https://blog.goodtek.xyz. Questions: https://community.goodtek.xyz. Mail: hello@goodtek.xyz.