Building in Public

Introducing Xylo Sites: Building a Multi-Tenant Platform in Public

· 3 min read
Dan Paul Dan Paul
Introducing Xylo Sites: Building a Multi-Tenant Platform in Public

Today, we're launching Xylo Sites—a multi-tenant platform where anyone can spin up their own blog, brochure site, or shop at a custom subdomain or domain, without touching code.

But more importantly, we're committing to building this platform in public. This blog is where we'll share the journey: the technical decisions, the wins, the pivots, and the lessons learned.

Why Xylo Sites?

The web is full of site builders, but most force you to choose between simplicity and control. We wanted something different: a platform that's simple enough for non-technical users but powerful enough that you won't outgrow it.

Xylo Sites gives you:

Your own space - Custom subdomain (yourblog.xylo.gg) or bring your own domain

Clean, fast dashboard - Manage posts, pages, media, and settings without the bloat

Beautiful templates - Blog, brochure, and shop layouts (more coming soon)

Team collaboration - Invite authors, manage permissions, switch between sites

Full theming control - Colors, fonts, logos—make it yours

Built-in image editor - Crop, rotate, adjust—no need to leave the platform

Smart content library - Org admins see content across all sites; authors see only their assigned sites

The Tech Stack

We're building on solid, modern infrastructure:

Frontend: Astro (SSR) + React + Tailwind CSS

Backend: Directus (headless CMS) + PostgreSQL

Hosting: DigitalOcean Droplets with Caddy for SSL

Storage: DigitalOcean Spaces with CDN

Billing: Stripe subscriptions

Email: Nodemailer via Mailgun

For the curious: we chose Astro for its speed and flexibility, Directus for its powerful API and built-in permissions, and Caddy because automatic HTTPS for wildcard domains is magical.

Where We Are Now

We've already shipped a lot:

✅ Full dashboard for posts, pages, categories, tags, and media

✅ Role-based access (Admin, Org Admin, Site Author)

✅ OAuth login (Google, GitHub) + email verification

✅ Stripe billing with trials and promo codes (LAUNCH code: $5/month for 6 months)

✅ Multi-site support for organizations

✅ Team invitations and management

✅ Site publish/unpublish controls

✅ Auto-unpublish when trials expire or billing lapses

✅ Landing page, hero carousels, author profiles, social links

✅ GitHub Actions CI/CD pipeline

In progress:

🔨 Custom domain support with on-demand TLS

Planned:

🔜 Brochure and shop templates (they exist in the schema but need UI love)

🔜 SSO with Keycloak for deeper community integration

Building in Public

This blog will be our lab notebook. Expect posts about:

Architecture deep-dives - How we built multi-tenancy, permissions, and custom domains

Product decisions - Why we chose certain features, what we cut, what we're adding next

Business metrics - Growth, churn, what's working (and what's not)

Lessons learned - Bugs, security issues, performance bottlenecks, and how we fixed them

Community feedback - Your ideas shape the roadmap

We're not trying to hide the messy parts. Building software is hard, and we think there's value in showing the whole process—not just the polished launch posts.

Early Adopter Pricing

We're offering special pricing for our first users:

Regular pricing: $7/month or $57/year per site

LAUNCH promo code: $5/month for the first 6 months

Free trial: Unlimited build time, 30-day countdown starts when you publish

Early adopter tiers:

🎯 First 20 annual subscribers: Lifetime pricing guarantee + future AI features

🎯 First 100 users: Lifetime pricing guarantee

This is your chance to lock in the lowest price we'll ever offer—and help shape what Xylo Sites becomes.

Join the Journey

Whether you're a developer curious about our tech stack, a creator looking for a new home for your content, or just someone who enjoys watching things get built—welcome.

We'd love to hear from you. What features do you want? What's missing? What should we build next?

Drop us a line in our [Community chat](https://chat.xylo.gg) or reply below.

Here's to building in the open.

— The Xylo Team