Engineering
System Architecture
End-to-end topology of the Nordic Climate Finance Hub (NCF Hub) Investor Platform — the web app, mobile app, and cloud backend that power deal flow, due diligence, matchmaking, and intelligence for the Nordic climate-finance community.
Logical view
The NCF Hub Investor Platform is a modular cloud application served to two first-party clients (web and mobile) and a curated set of partner integrations. All clients talk to the same domain services through a single secured API gateway. The platform is multi-tenant, audit-first, and designed to meet investor-grade due diligence and compliance requirements.
End-to-end topology (Mobile · Web · Cloud)
┌──────────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐
│ Web App │ │ Mobile App │ │ Partner / Public APIs │
│ hub.ncfsummit.org │ │ iOS · Android (Expo) │ │ REST + HMAC · Webhooks │
│ TanStack Start · React │ │ React Native · Offline │ │ Registries · CRMs · ESG│
└────────────┬─────────────┘ └────────────┬─────────────┘ └────────────┬─────────────┘
│ │ │
│ HTTPS / TLS 1.3 · OIDC · mTLS for partners │
└──────────────┬───────────────┴──────────────┬───────────────┘
▼ ▼
┌────────────────────────────────────────────────────┐
│ Edge / API Gateway (Cloud) │
│ AuthN (Supabase OIDC · SSO) · AuthZ (RBAC + RLS) │
│ Rate limiting · WAF · Request signing · Audit log │
└────────────┬───────────────────────────────────────┘
│
┌──────────────┬──────────┼──────────────┬──────────────┬──────────────┬──────────────┐
▼ ▼ ▼ ▼ ▼ ▼ ▼
Investor Deal & Matchup Leaderboard Masterclass News & Concierge &
Directory Co-Fund Engine Service & Events Intelligence Summits
Service Campaigns (AI match) (rankings) Service Service Service
│ │ │ │ │ │ │
└──────────────┴────────────┴──────┬─────┴──────────────┴──────────────┴──────────────┘
▼
┌─────────────────────────────────────────────────┐
│ Shared Platform Services │
│ Identity · Notifications · Search · Files │
│ Audit log · Feature flags · Billing · Analytics│
└────────────┬────────────────────────────────────┘
▼
┌────────────────────┬─────────────────────┬─────────────────────┬────────────────────┐
▼ ▼ ▼ ▼ ▼
Postgres Object Storage OpenSearch Queue / Jobs AI Gateway
(primary, (S3 · documents, (full-text, (SQS / Redis · (LLM matching,
RLS + audit) data rooms, KYC) filters, geo) workers, cron) enrichment)Web App (hub.ncfsummit.org/investor)
The investor workspace. Optimised for dense data and multi-step due-diligence flows.
┌──────────────────────────────────────────────────────────────┐
│ Web App (Browser) │
├──────────────────────────────────────────────────────────────┤
│ UI Layer │
│ ├─ TanStack Start (SSR) · React 19 · TypeScript │
│ ├─ Tailwind v4 design system · shadcn/ui │
│ └─ TanStack Router · TanStack Query (cache + suspense) │
│ │
│ Feature surfaces │
│ ├─ Investor Directory · Deal & Co-Fund Campaigns │
│ ├─ Matchup Engine · Leaderboard · Masterclass Library │
│ ├─ Satellite Events · News & Intelligence · Concierge │
│ └─ Document rooms · IC memos · Watchlists · Pipeline │
│ │
│ Cross-cutting │
│ ├─ OIDC session (Supabase) · SSO · MFA │
│ ├─ Command palette (⌘K) · keyboard-first │
│ └─ Telemetry · error capture · feature flags │
└─────────────────────────┬────────────────────────────────────┘
│ HTTPS · server functions · REST
▼
Cloud API GatewayMobile App (iOS · Android)
Companion app for delegates and investors on the move — concierge scheduling, deal review, matchmaking, and on-site summit operations. Offline-first for low-connectivity venues.
┌──────────────────────────────────────────────────────────────┐
│ Mobile App (iOS / Android) │
├──────────────────────────────────────────────────────────────┤
│ Shell │
│ ├─ React Native · Expo SDK · TypeScript │
│ ├─ Expo Router · TanStack Query (persisted) │
│ └─ SQLite (op-sqlite, SQLCipher) · Secure Enclave/Keystore │
│ │
│ Delegate & investor features │
│ ├─ Concierge: 1:1s, firechats, partner intros, calendar │
│ ├─ Matchup inbox · accept / decline · QR check-in │
│ ├─ Deal pipeline read + light actions (watch, NDA, signal) │
│ ├─ Masterclass playback · offline lessons · certificates │
│ └─ News feed · push alerts · saved briefings │
│ │
│ Platform services │
│ ├─ Biometric unlock · auto-lock · remote wipe │
│ ├─ Offline outbox · idempotent sync · conflict resolution │
│ ├─ Push (APNs / FCM) · deep links to web app │
│ └─ OTA updates via EAS Update │
└─────────────────────────┬────────────────────────────────────┘
│ HTTPS · OIDC · sync API
▼
Cloud API GatewayCloud App (Backend Platform)
The system of record. Domain services are deployed independently behind a single gateway, share platform services (identity, audit, search, files), and persist to Postgres with row-level security plus an append-only audit log.
┌──────────────────────────────────────────────────────────────────────┐
│ Cloud Platform │
├──────────────────────────────────────────────────────────────────────┤
│ Edge / Gateway │
│ ├─ TanStack Start on Cloudflare Workers (SSR + server fns) │
│ ├─ AuthN: Supabase OIDC · SSO (SAML/OIDC) · MFA │
│ ├─ AuthZ: RBAC (Admin · Investor · Analyst · Sponsor · Viewer) │
│ ├─ Tenant scoping · per-route rate limits · WAF · bot mgmt │
│ └─ Request signing for partner APIs · webhook HMAC verification │
│ │
│ Domain services │
│ ├─ Investor Directory — profiles, mandates, deal history │
│ ├─ Deal & Co-Fund Campaigns — pipeline, syndicates, data rooms │
│ ├─ Matchup Engine — AI scoring, double opt-in intros │
│ ├─ Leaderboard — daily rankings, methodology page │
│ ├─ Masterclass & Library — video, knowledge checks, certs │
│ ├─ Satellite Events — agendas, RSVPs, ticketing, hosts │
│ ├─ News & Intelligence — newsroom, briefings, tagging │
│ └─ Concierge & Summits — scheduling, firechats, check-in │
│ │
│ Shared platform services │
│ ├─ Identity & org graph · Notifications (email/push/in-app) │
│ ├─ Search (OpenSearch) · Files & data rooms (S3, watermarking) │
│ ├─ Audit log (append-only, hash-chained) · Feature flags │
│ ├─ Billing & entitlements · Analytics & reporting │
│ └─ AI Gateway (LLM matching, enrichment, summarisation) │
│ │
│ Data plane │
│ ├─ Postgres 16 — RLS, logical replication to analytics │
│ ├─ Object storage (S3) — documents, KYC, exports │
│ ├─ OpenSearch — full-text, faceted, geo queries │
│ ├─ Queue/Workers — SQS + Redis, scheduled jobs, ETL │
│ └─ Data warehouse — anonymised snapshots for BI & leaderboard │
│ │
│ Integrations │
│ ├─ KYC/AML providers · sanctions screening │
│ ├─ DocuSign / e-signature · payment rails (Stripe) │
│ ├─ Calendar (Google/Microsoft) · video (Zoom/Meet) │
│ ├─ CRM (HubSpot/Salesforce) · ESG & climate data feeds │
│ └─ Summit ticketing & badge printing │
└──────────────────────────────────────────────────────────────────────┘Runtime
- Edge / SSR: TanStack Start on Cloudflare Workers.
- Domain services: Node.js (TypeScript) workers deployed as isolated functions or containers.
- Database: Postgres 16 (Supabase) with row-level security and logical replication.
- Object storage: S3-compatible bucket for documents, data rooms, exports.
- Search: OpenSearch for full-text, faceted, and geo queries across deals, investors, news.
- Background jobs: Queue-backed workers for matching, leaderboard refresh, notifications, ETL.
- AI: Claude AI and Codex for matching, enrichment, summarisation, and intelligence briefings.
- Mobile: React Native via Expo, distributed through TestFlight and Google Play with EAS Update.
Environments
| Env | Purpose | Data |
|---|---|---|
local | Developer machine | Seeded fixtures |
preview | PR previews | Anonymised snapshot |
staging | Pre-prod & UAT | Anonymised snapshot |
production | Live customers | Customer data |
Cross-cutting concerns
- AuthN: OIDC via Supabase with SSO (SAML / OIDC) and MFA for enterprise tenants.
- AuthZ: Role-based access control (Admin, Investor, Analyst, Sponsor, Project Owner, Viewer) with tenant scoping and Postgres RLS.
- Audit: Append-only, hash-chained event log for every state-changing action; exported nightly to cold storage.
- Privacy: Double opt-in for introductions; consent logged; GDPR data-subject workflows.
- Observability: Structured logs, OpenTelemetry traces, RED metrics dashboards, SLO alerting.
- Compliance: SOC 2 Type II controls, GDPR, KYC/AML for investor onboarding, ESG disclosure alignment.
Reference data flow: a deal introduction
- A sponsor publishes a deal in the Deal & Co-Fund Campaigns service; documents land in a watermarked data room.
- The Matchup Engine scores the deal against investor mandates in the Investor Directory using the AI Gateway.
- Top matches are notified via the web and mobile apps; both sides confirm a double opt-in introduction.
- On opt-in, a secure intro thread, NDA flow, and document-room access are provisioned; every action is hash-stamped to the audit log.
- The transaction is reflected in the Leaderboard and surfaced by News & Intelligence once verified.
- Follow-up meetings are booked through the Concierge for the next NCF Summit or satellite event.