A multi-tenant managed platform for student unions and member organisations — built end-to-end by TwinCurrent and now in pilot, with IBP Union onboarding as the first tenant ahead of launch.
TwinCurrent built Unios end-to-end, a multi-tenant SaaS platform for student unions and member organisations, and is now piloting it — IBP Union (CBS) is onboarding as the intended first tenant ahead of launch. The platform was born multi-tenant: each organisation is a tenant with its own branded site, content, and members, and the architecture is ready to roll out across more student organisations, with TwinCurrent running the underlying infrastructure as a done-for-you service.
The centrepiece is an admin Site Builder — a page builder that lets each tenant's site be composed and published without touching code. TwinCurrent designs, builds, and operates the whole stack, so organisations get an evolving product instead of a one-off project hand-off.
Next.js frontends
Public site, admin, tenant renderers on Vercel
Rust / Axum API
Business logic & multi-tenancy on Railway
PostgreSQL + R2
SQLx data layer + object storage
Isolated tenants
Role-based access per organisation
A Rust/Axum API on Railway holds all business logic and enforces tenant isolation, with SQLx over PostgreSQL for type-safe queries and Cloudflare R2 for object storage. Several Next.js frontends on Vercel — the public marketing site, the admin console, and the tenant renderers — consume the same API, so one platform serves every organisation.
Migrating off the legacy IBP system was a first-class design constraint, not an afterthought. We moved 3,000+ records across and used the migration as a forcing function to consolidate the schema from 60 tables down to 24, asking of every table whether it would generalise to a second tenant before any data landed.
A page builder in the admin console lets each tenant compose and publish its public site — sections, content, and layout — without a developer in the loop.
Every organisation is an isolated tenant. Access is governed by roles so members, editors, and admins only ever see and change their own data.
Public site, admin console, and tenant renderers are separate Next.js apps that all call the same Rust API — one source of truth for many surfaces.
The inherited 60-table schema was reduced to 24 by generalising tables across tenants instead of mirroring a single source system.
More than 3,000 records were migrated from the legacy IBP system into the new platform without losing history.
TwinCurrent runs deployment, monitoring, and evolution of the platform so organisations consume it as a service, not a hand-off.
Railway
Hosts the Rust/Axum API and PostgreSQL with managed deploys.
Vercel
Serves the public, admin, and tenant Next.js frontends.
Cloudflare R2
Object storage for tenant media and assets, no egress fees.
Next.js
Public site, admin, and tenant frontends
Rust / Axum
API and multi-tenancy business logic
PostgreSQL / SQLx
Type-safe primary data layer
Railway + Vercel + R2
Hosting, deploys, and object storage
3,000+
records migrated
60→24
tables consolidated
E2E
built end-to-end
1st
tenant in pilot: IBP Union
Unios is built as a managed service: we design, build, and run it through its pilot. If you need the same for your organisation, let's talk.
Reply within 24 hours — usually same day