← Back to projects

Image Registrars Ltd

Multi-Tenant Shareholder Register Platform

One schema per client, zero per-tenant containers

Django ยท PostgreSQL (schema-per-tenant) ยท Docker

Rebuilt a single-tenant shareholder register (the legacy app stayed live and untouched throughout) as a true multi-tenant platform: one Postgres database, one schema per client, resolved per request by setting the connection's search_path from a session-stored company picker โ€” no per-tenant containers, no DB router, no subdomain routing.

Built a staff control panel (password + emailed code) that provisions, enters, reversibly deletes, and restores tenant organisations, plus an onboarding flow that bulk-loads shareholders, user accounts, and invitations from .xlsx with an upload/review/confirm step. Certificate and statement PDFs pull issuer name, address, and branding from each tenant's own settings, so every client sees their own identity, not a shared template.