type: decision
status: active
timestamp: 2026-06-23
tags: [decision, subdomains, dns, naming, flat-namespace]

Flat subdomain pattern: <slug>.oriz.in for every public-facing repo

Flat <slug>.oriz.in for every public repo, ~85 total

Flat subdomain pattern

Rule

Every repo with a public landing page gets <slug>.oriz.in where <slug> is its short identifier (no oriz- prefix, no -pkg / -app suffix). All one level deep so CF Universal SSL covers them without paid plan.

Examples

TypeRepoSubdomain
Apporiz-roam-journal-appjournal.oriz.in
Apporiz-paisa-finance-tools-appfinance.oriz.in
npm packageastro-shell-npm-pkgastro-shell.oriz.in
npm packageauth-core-npm-pkgauth-core.oriz.in
npm packageoriz-ui-npm-pkgoriz-ui.oriz.in
Booklearn-frugalitylearn-frugality.oriz.in
Bookwarren-buffett-essaysbuffett.oriz.in
Skillplaywright-cliplaywright-cli.oriz.in
Skillgrill-megrill-me.oriz.in
Extension forkAi-rewriteai-rewrite.oriz.in
APIoriz-flow-fii-dii-activity-apifii-dii.api.oriz.in (grandfathered 2-level)

Why flat

  1. CF SSL — Free Universal SSL covers *.oriz.in (one level only). Paid Advanced Cert needed for *.<sub>.oriz.in.
  2. Memorabilityjournal.oriz.in reads better than pkg.journal.oriz.in or app.journal.oriz.in.
  3. No type prefix needed — the URL doesn’t need to encode whether it’s an app, package, or book. The landing page does.

Why not grouped (pkg..oriz.in)

What this kills

Risk: namespace pollution

We’ll have ~85 entries in DNS. CF allows unlimited records on a free plan. Risk = readability of dig oriz.in any output, which is solvable by sorting + categorizing in knowledge docs.

Cross-refs


Edit on GitHub · Back to index