One Identity, Many Products

How shared auth, reusable infrastructure, and independent repos let us build and deploy new products in days — starting with Nexum, and beyond.

The thesis: A user logs into one Primigenum product. They're authenticated for all of them. A new product can reuse auth, CI/CD, observability, and deployment — launching in weeks, not months.

The problem with SaaS islands

Most SaaS companies build one product. One login page, one user database, one session model. When they launch a second product, they either start from scratch or bolt it onto the same codebase — coupling two products that should be independent.

We went the opposite direction. We started with the auth layer first, then built products on top of it.

0 Auth API routes shared
0 Apps using shared auth
0 Rate-limit rules protecting all apps
0 Login page for every product

The platform stack

Every new product inherits the full platform — we don't start from git init:

  • Auth — Identitas (146 routes, 15 tables, 3 providers). Every app gets its own JWT secret, OIDC config, and rate-limit rules. The login page is Identitas UI's, shared across products.
  • CI/CD — Each repo has independent GitHub Actions pipelines. Average CI: 2.0 minutes (down from 7.1 in the monorepo era).
  • Observability — Axiom structured logging via Pino. Every request logged, every error alerted. Same logger, same dashboard, every product.
  • Deployment — Railway for backends, Cloudflare Pages for frontends. Identical wrangler.toml patterns across products.
  • Notifications — HTTP API + Telegram bridge. Plugs into any product with a POST /notify call.

Current platform

The platform today runs these products on shared infrastructure:

  • Nexum — Booking SaaS. Live, paying customers. 235 backend files, 3 frontend apps, 27k+ lines of API logic.
  • Identitas — Auth hub. 47 files, 146 routes, handles every authentication request across the platform.
  • Landing — Marketing site + blog. What you're reading right now. Static SvelteKit on Cloudflare Pages.

What this means for clients

When a client comes to us with a SaaS idea, we don't start from scratch. The platform already handles auth, deployment, CI, observability, and notifications. What the client pays for is the domain logic — the 20% of features that make their product unique, not the 80% of boilerplate every SaaS needs.

That's the Primigenum model. One identity infrastructure. Many products. Shared investment in the platform; independent investment in each product's differentiator.

Have a SaaS idea? We can build it on this platform — live in 90 days. Start the conversation.