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.
Portable by construction
Section titled “Portable by construction”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.
Can you self-host it?
Section titled “Can you self-host it?”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.
Why it’s framed this way
Section titled “Why it’s framed this way”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.