Seltrix
Multi-Tenant Website Builder & Template Commerce Platform
Problem
Small businesses need a website builder that feels like a dedicated product, not a shared template engine — meaning their own domain, their own branding, and instant publishing, all while the platform serves hundreds of tenants from one codebase. On top of that, tenants needed a way to buy and sell page templates to each other, which meant the builder had to double as a small commerce platform.
Architecture
Built on Next.js with a multi-tenant request pipeline: incoming requests are matched against a tenant's custom domain or subdomain, and the resolved tenant context flows through to every downstream query. Publishing a site writes a versioned snapshot that the public renderer serves via dynamic SSR, so edits stay in draft until a tenant explicitly publishes. The template marketplace layers a commerce flow on top of the builder — templates are packaged, priced, and sold between tenants through Stripe, with Cloudinary handling asset storage and optimized delivery for template previews and media.
Trade-offs
Custom-domain publishing means the platform is responsible for domain verification and SSL — we chose to automate that flow (verify → provision → activate) rather than push manual DNS steps onto non-technical business owners, at the cost of more edge cases to handle (misconfigured records, propagation delays). Dynamic SSR per tenant is more expensive than static generation, but static builds don't work when tenants can publish edits at any time — we accepted the runtime rendering cost in exchange for instant publish.