Olympus

Shared cross-cutting capabilities

.NETNext.jsPostgreSQLgRPCHelmNuGet

Olympus is the cross-cutting capability platform shared by several products in the ecosystem. Instead of every application reimplementing its own multi-tenancy, authentication, language-model access or audit trail, those pieces live once and are consumed as versioned packages. The idea holding it up is that the hard decisions —how a tenant is isolated, how you prove a record has not been altered— are made in one place and inherited, rather than repeated with slightly different nuances in each product.

What it does

It solves once what every multi-tenant application needs and almost nobody wants to write again.

  • Isolates tenants with row-level security composed of application and tenant, so one database serves several products without mixing them.
  • Centralises authentication and federated identity through OIDC.
  • Offers a common AI gateway for language-model access from any product.
  • Provides retrieval-augmented generation (RAG) as a shared capability.
  • Delivers multichannel notifications from a single configuration.
  • Executes idempotent outbound actions, so a retry does not duplicate the effect.
  • Records immutable hash-chained audit, where altering one event invalidates the ones after it.
  • Shares a common frontend for the ecosystem Next.js applications.

Architecture

The distribution shape matters as much as the capabilities: everything ships as packages, and coherence between them is verified in continuous integration.

  • A dual .NET and pnpm monorepo with 27 publishable NuGet packages organised in layers, plus a meta-package pinning the set.
  • npm packages for the shared UI and dashboard core, with their own meta-package.
  • Lockstep versioning across both ecosystems, verified by tests that fail if either drifts.
  • Canonical Protocol Buffers contracts as the source of truth for service-to-service communication.
  • CI guardrails plus contract and structure tests that stop a package from stepping outside the design.
  • Test infrastructure with version-pinned images, so a test does not change its result because of somebody else’s update.
  • Deployment through umbrella and library Helm charts, with observability in Grafana.

Stack

A C# backend on .NET distributed as layered NuGet packages, a shared Next.js frontend in TypeScript published as npm packages, contracts in Protocol Buffers, PostgreSQL persistence with composite row-level security and Kubernetes deployment with Helm.

Back to projects