Skip to content

Platform posture

neosource is built and run as a hosted forge — the way GitHub or GitLab.com are operated. The team’s focus is running it well as a service, and that focus shapes the architecture. It does not come at the cost of openness: every layer sits on open, portable substrates, with no lock-in to any single vendor’s proprietary primitives.

The platform is designed to move freely across infrastructure rather than bind to one provider:

  • relational state on Postgres
  • object bytes behind the S3 API — any conforming implementation, not one vendor’s hosted service
  • the content-addressed manifest (operation log, operation heads, object and pack catalogs) behind a storage abstraction, not a single product
  • the event bus on open messaging
  • compute on commodity hardware or any cloud — never a proprietary serverless runtime

No AWS-only, GCP-only, Azure-only, or Cloudflare-only primitive is a hard dependency. The S3 API is a fine thing to build on because many implementations serve it; a specific vendor’s service is never the thing we depend on. The edge is just DNS, TLS, and a reverse proxy — no application logic welded into an edge platform.

Nothing in the architecture prevents it. Because every tier sits behind a clean abstraction, neosource is not tied to any one operator’s stack — including ours. The storage tiers are the clearest example: the content-addressed manifest tier is an abstraction, not a specific database. A large deployment can back it with a dedicated compare-and-swap store built for billions of hash-keyed rows; a smaller one could back the same abstraction with a Postgres CAS layer and skip the extra moving part entirely. The same pluggability runs up and down the stack.

What we don’t do is polish the install-and-operate experience for third-party operators the way a self-host-first project does. Our engineering effort goes into running neosource as a great hosted product, not into shipping a turnkey appliance. So self-hosting is genuinely possible for anyone who wants it — it just isn’t the packaged, supported product.

Designing primarily around “what an arbitrary operator can install” tends to pull a forge toward a lowest-common-denominator stack. By building for a platform we operate ourselves — on open, portable substrates — we get to use the right tool for each workload tier while keeping the whole system free of proprietary lock-in. Portability is the constraint that replaces “must be trivially self-hostable,” and it has a nice side effect: it keeps real self-hosting on the table instead of designing it out.