Shipping in public

We do not only publish launch posts. Blockers, policy rejections, awkward infra, and half-finished edges stay in the record—because that is where useful feedback actually attaches.

What “in public” means for us

Shipping in public is not a content calendar of wins. It is a habit of leaving a trail while the work is still wrong in places. For goodtek that trail has a few lanes. Notes catch what merged this week and which decision we are unsure about. The blog gets a longer piece when a judgment call matters enough to explain. The main site keeps durable product and trust pages. Community is where unanswered questions can sit without pretending they are marketing copy. The point is not performance. The point is that strangers—and future us—can see what changed, what failed, and what we will try next. Polished-only timelines train people to wait for the highlight reel. Highlight reels do not teach how a small product company actually operates. It also changes what we optimize for. If the only artifact is a launch post, the team optimizes for the screenshot. If the artifact includes the messy middle, the team optimizes for the next honest note—and that note is often more useful to another builder than the screenshot.

What we actually publish

We write when something ships, when something is blocked, and when an external review forces a rethink. Infra notes count: ads.txt placement, reverse-proxy quirks, locale routing, sitemap paths. Those details are boring in isolation and valuable in sequence, because they show the distance between “it works on my machine” and “it works for a crawler and a stranger.” Product docs on the hub are part of the same practice. A guide at /guides/vibepulse is not a press release. It is an operable path. Stories on /stories are not growth hacking; they are explanations of bets and gaps. If a page only exists to look busy, we should delete it. If it helps someone set a monitor or understand why channels are split, it stays. Cadence matters less than continuity. Some weeks are quiet. Some weeks are all infra. Public shipping is not a promise of daily posts. It is a promise that when something material happens—ship, block, reject—we leave a trace someone else can find.

When outside review disagrees with our map

Search engines, ad networks, and humans do not automatically understand a multi-subdomain hub. They open goodtek.xyz and judge what is there. If the apex is mostly links and soft marketing, it reads as thin—even if the blog is full. We have already met that kind of mismatch. The fix is not to argue about architecture in a support ticket and leave the apex empty. The fix is to put original, useful writing on the main domain: guides you can follow, stories that admit what is missing, trust pages that match the operator behind the subdomains. When something is rejected or flagged, we write the next concrete change instead of a vague “we value quality” line. That note becomes the checklist for the following release. Public shipping includes the uncomfortable reviews, not only the merge commits. Writing the checklist in public also stops us from rewriting history after the fix. Future posts can point back: here is what failed, here is what we changed, here is what is still open. That trail is part of the product company’s operating system.

Limits we keep

We do not dump secrets, customer data, or unverified claims. We do not reprint the entire blog onto the hub to fake volume. We do not pretend every experiment succeeded. Openness without boundaries becomes noise. Boundaries without openness becomes a brochure. We aim for the middle: enough detail that a builder can learn from the path, enough restraint that the company remains responsible. We also avoid “guru” tone. We are early. Saying that plainly is part of shipping in public. Confidence without evidence is just branding.

Why bother when it is slower

Writing while building is slower than shipping in private and announcing later. We accept that cost because goodtek is trying to be a sellable, operable company—not only a stream of demos. Operable means someone else can understand the system. Sellable means trust pages, products, and contact paths are real. Public notes are how those pieces stay aligned. If you only need a private workshop, ignore us. If you care how a small team turns AI speed into something that survives contact with users and reviewers, the trail is the point.

Follow along

Lurking is fine. One specific sentence of feedback is better than a generic compliment. Pick a channel on /start-here. Try the product path at /guides/vibepulse. Read other hub pieces on /stories. Longer essays: https://blog.goodtek.xyz. Mail: hello@goodtek.xyz.