This is a live system running on synthetic data. Every number on screen is calculated when you click, by real SQL, in a real PostgreSQL database. The records themselves are fictional.
Construction started: September 26, 2026
Plays the part of the bank's data platform. Everything runs in Docker as its own project, aml_demo, with its own network, storage volume and passwords. It shares nothing with AIDA's client systems.
Built in three layers, the way the bank's mart would be:
PostgREST turns the api functions into web addresses such as /rpc/report?p_kpi=D1-03.
The Mini makes an outbound-only, encrypted connection to Cloudflare. No port is opened on the home network, and the Mini is never directly reachable from the internet.
aml-api.aida-job-search.ca, behind Cloudflare Access.A cloud server in Quebec hosts this page with nginx, behind a username and password.
/api/ route forwards data requests to the tunnel and adds the service token on the server side, so the token never reaches a browser.Before going live, every dashboard value and every report (summary and records) was compared between PostgreSQL and an independent reference engine across 44 period and product combinations.
2,244 payloads compared, 0 differences
The dashboard carries a built-in offline copy of the same model. If the API doesn't answer, it switches over automatically, and the chip next to "As of" changes from Live PostgreSQL via API to Offline copy.
| In this working model | At the bank |
|---|---|
| Mac Mini running Docker | The bank's data platform (Azure, Databricks, Synapse or Fabric) |
PostgreSQL mart schema | AML Reporting Mart: read-only, reporting only |
50 functions in the kpi schema | Certified KPI functions, one per KPI, under version control |
| Cloudflare Tunnel + Access service token | Power BI data gateway or private network link |
| Quebec web server, behind a password | Power BI Service, with row-level security by role |
| Fictional records | Daily feeds from monitoring, cards, deposits, KYC, screening and FINTRAC |
Every figure, customer ID and record on this site is fictional: about 35,000 generated records covering 12 months, for demonstration only. None of it is Canadian Tire Bank data.
This is a concept prototype by AIDA Labs and is not affiliated with or endorsed by Canadian Tire Bank.