SMERESKI
  1. PROJECTS
  2. RESUME
  3. BLOG
  4. CONTACT

PROJECT

2026 · 30k LOC

or9.space Platform

FreedomGuard rebuilt as a multi-tenant SaaS — Postgres row-level security keeps every org in its own lane, no app-layer check to forget.

Next.js 16React 19PrismaPostgres RLSNextAuthLIVE

or9.space takes the eighteen-surface guild platform I built for one org and turns it into something any org can run. One codebase, deployed once, serves every tenant; each org gets its own subdomain and its own walled-off slice of the data.

The isolation is the product. Tenants are separated by Postgres row-level security policies keyed on a per-request tenant context, so there is no application-layer check to forget and no query that can accidentally cross the boundary. A row-level-security policy suite and a tenant-leak fuzzer test that wall on every run. FreedomGuard runs on it as the proof tenant — the original org living inside the generalized platform.

The feature surface is wide and flag-gated per org: forums, members and ranks, treasury, loot, a versioned handbook with member sign-offs, inventory, fleet, tournaments, events, operations, news, recruitment, alliances, awards, contracts, gallery, squads, project boards, and direct messages. Admins switch on what their org needs.

It ships open-core: a free ad-supported tier on an or9.space subdomain, a paid hosted tier with ads off and a custom domain, and a self-hosted AGPL tier you run on your own box. Full-stack TypeScript end to end — Next.js 16, React 19, Prisma over Postgres, NextAuth — with the RLS policies and migrations in the same language as the app. Around 773 tests cover the isolation, authorization, features, and billing.