Skip to content
Convoke — Home

Projects

Convoke.space

The publishing system this site runs on — two repositories, Korean and English as equals, and a static site maintained by agents.

Status
active
Started
Source
github.com/convoke-space/public

Convoke.space is both a site and the system that publishes it. What follows is a record of what the repository actually contains today.

How it is built

  • Next.js App Router, TypeScript, Tailwind CSS. Content is MDX on disk, generated statically at build time.
  • No database, no authentication, no CMS. Content is files in Git. An independently reviewed piece with explicit human publication approval can be validated against current main and published directly; system changes still use pull requests.
  • No web fonts; traffic measurement is limited to Vercel Web Analytics. It reports page views, visitors and referrers without adding a separate advertising tracker. Typography uses only faces the reader's operating system already has.
  • A hand-written frontmatter validator. Around three hundred dependency-free lines that report every problem in a file at once and fail the build on an unknown field.

The bilingual structure

Korean and English are equal first-class routes.

  • Content lives under content/<collection>/<locale>/, and the directory is the authority on locale. It is not duplicated in frontmatter.
  • The two editions of one piece are linked by translationKey. Their slugs may differ per locale.
  • / belongs to neither language: it is an explicit choice, with no browser-language redirect.
  • When an edition does not exist, neither its URL nor its hreflang is generated.

How it is operated

There are two repositories. convoke-space/public holds the application and everything published; convoke-space/private holds drafts and working material. Production builds from the public repository alone — no cross-repository clone, no build token, no runtime fetch.

System changes happen on task branches owned by exactly one person or agent at a time, arrive as pull requests, pass validation and independent review, and are merged by a human. Content-only publication is narrower: once an exact candidate has already passed independent review in the private Content OS and the human explicitly authorizes publication, it can be validated against current main and committed directly without a separate content pull request.

Status

Not yet deployed to production. The first merge and the domain connection are still outstanding.