Vision
What xvii is
A platform you install on your own servers that does the everyday infrastructure work for a developer or a
small team: put a site or an app online, give it a database and secrets, show a branch preview, see
whether it is up, what it is throwing and who visits it, catch a webhook, open a tunnel, send mail, and
route AI requests through one gateway with quotas.
Every piece is useful on its own and better together: a project in id ties a pages site, an app, its
secrets, its monitors, its errors and its analytics into one page in home.
Who it is for
- Its author first. Every service has to earn its place in daily work on xvii.network.
- Then anyone who self-hosts. A person or a team with one or more Linux servers and a domain runs
xvii server install, answers a wizard, and gets the platform on their domain.
- Teams inside an instance. An instance has many teams; teams own projects; servers (nodes) can be
shared between teams with quotas, and a team can bring its own server, the way you would add a
self-hosted CI runner.
Distribution is part of the design from day one: nothing may depend on xvii.network specifics (domain,
servers, tokens). The code stays closed for now; it will be opened later.
Principles
- One stack, strictly. Go for everything that runs; React + Vite + Tailwind 4 + shadcn/ui for every
panel; one CLI. No second language "just for this one service".
- One binary per service. A service is a Go program with its panel embedded. No Kubernetes, no
container required to run the platform itself (containers are for user workloads in
apps).
- Fast to use. One command to deploy, one link to share, one place to look. Defaults that are right
for previews: things expire unless kept.
- Immutable releases. A deploy (pages) or a release (apps) never changes; aliases and environments
point at them, so rolling back is moving a pointer.
- Everything has an API, a CLI and MCP tools. The panel is one client of the API, not the only one.
- Small footprint. The whole platform must run comfortably on a 1 vCPU / 4 GB server next to other
software.
- Self-host friendly. Install, update, back up and restore are features with a UI, not chores.
What it will not do
- Not a Kubernetes distribution or a replacement for one at scale. Dozens of nodes, not thousands.
- No billing or public sign-up in the first versions. An instance invites its users. The model must not
make billing impossible later (quotas and usage are tracked per team).
- No multi-region control plane. One control plane per instance; nodes can be anywhere.
- No plugin marketplace. Service templates in
apps cover third-party software.