Layer 1
Application
Purpose-built screens for one discipline — project controls, commissioning, work packaging, payables, general ledger. Own database, own permissions, own release cadence.
Platform
VissRad is deliberately not a monolith. Each application owns its own data and its own users, and they exchange signed business documents through a transport layer called Link. That is how a certified quantity in the field ends up governing what finance is allowed to pay.
19
Applications across controls, commissioning, maintenance, packaging and finance
11
Link document types moving between them
3
Deployment shapes — laptop, plant network or cloud
Architecture
The desktop applications are Python and PySide6, built on a shared vissrad_core library and a shared vissrad_link client, then packaged independently. A cost engineer installs the cost engineer's tool. Nobody inherits a payables module they will never open.
Layer 1
Purpose-built screens for one discipline — project controls, commissioning, work packaging, payables, general ledger. Own database, own permissions, own release cadence.
Layer 2
An outbox and inbox on every application. Documents are written as JSON, addressed to a recipient, and acknowledged once posted. Money is carried as decimal strings so nothing rounds in transit.
Layer 3
Star-schema exports and a read-only SQLite ODBC surface, so Power BI, Excel and your existing corporate reporting read the same facts the applications wrote.
Link exchange
Real organizations already move work as documents — a claim, a certificate, an invoice, a payment advice. Link keeps that shape. Every message has an idempotency key, so a retry after a network drop cannot post the same invoice twice.
Undelivered documents retry on a fixed ladder — 5 seconds, 15 seconds, 1 minute, 5 minutes, 15 minutes, then 1 hour — for seven attempts in total. Anything still stuck lands in the hub console, where it can be inspected and replayed. A message is never silently dropped, and a silent gap between two applications never becomes a silent gap in the cost report.
Data & reporting
Project controls does not begin on a blank screen. VRPCS imports the CSV export of a Primavera P6 schedule — it needs activity ID, start date and finish date — matches activities to the work breakdown structure, and reports every activity it could not match rather than quietly absorbing it.
On the way out, the same project produces a monthly cost report PDF, a star-schema export for BI tooling, and a read-only SQLite ODBC connection that Power BI Desktop can refresh against directly.
P6 exchange is file-based. VissRad does not write back into your P6 database.
Deployment
The same applications run in all three shapes. Nothing in the architecture forces you into a hosted subscription to get started, and nothing stops you moving up when the joint venture arrives.
Single machine
SQLite per application, Link over a watched folder or the direct in-process transport. One estimator or one controls engineer, no servers, no IT ticket.
On premises
PostgreSQL with a FastAPI Link Hub on the site network and authenticated HTTP transport between applications. Project data never leaves your environment.
Cloud
Managed PostgreSQL with a replicated Link Hub behind TLS, for multi-office teams and joint ventures working the same capital project. Named sign-in with project roles, shared photos and drawings, e-mail digests and reply links, owner sign-off and bidder links, and an offline copy on the device.
There is no single shared database behind the suite — integration is document exchange, and that is a deliberate choice. Primavera P6 is a file import, not a live two-way link. Payment files follow NACHA and ISO 20022 layouts but are not bank-certified for transmission, and the demo build stamps them accordingly. Bulk invoice import from CSV and PDF is a stub, not a shipping feature. Live 3D model translation depends on your own Autodesk platform entitlements. We would rather you read that here than discover it in month three.
Next
Twenty-three applications carry a capital project from FEED through estimating, work planning, scheduling, design, procurement, change control, execution, safety and environment, turnarounds, commissioning and maintenance to the ledger. They are grouped into five packs — Plan and Estimate, Control, Engineer and Procure, Execute, and Turnover and Operate — with Portfolio, BI and AI across all of them. Link is the exchange layer between them, not an application in its own right.