The open source built environment stack
The components here are all open source, so you can run them, read the code, change it, and host the whole thing on your own infrastructure. Because the data sits in a Postgres database you administer, there is no per-seat licensing and no overnight extract sitting between the system and the work you want to do with it. The stack is assembled around what this industry deals with day to day: spatial data, IFC models, programme schedules, and a document trail that has to stand up years later. This page walks through it part by part.
Open source, in practice
Open source means the source code is published under a licence that lets anyone run it, study it, modify it and pass it on. Practically, that means you can host the stack yourself, audit what it does with your data, and carry on using it if a supplier changes their pricing or stops trading.
Postgres at the centre
Supabase bundles Postgres with authentication, file storage, generated APIs and realtime subscriptions. The extensions do the domain work: PostGIS for spatial queries, TimescaleDB for sensor and progress time series, pgvector for search across documents, and AGE for graph queries over how records relate. The tools around it read and write here rather than keeping their own copies.
Connecting what a programme already runs
n8n is a workflow tool with prebuilt connectors for several hundred services, plus generic HTTP and database nodes for anything without one. It moves data between the core and the systems already in use, so adopting the stack does not require replacing Procore, P6 or the Microsoft estate.
Dashboards that query the database directly
Observable dashboards are written as code and kept in version control alongside the rest of the project. They query Postgres when the page loads, so there is no overnight extract to go stale and nothing to license per viewer. The figures below come from the same month-end dataset that produces the report pack.
Spatial data in the same database
PostGIS adds geometry types and spatial indexing to the same Postgres instance that holds the programme data, so a query can join an asset to its location without moving anything between systems. QGIS covers desktop analysis, MapLibre renders 2D web maps, and CesiumJS handles 3D terrain and tilesets.
Working with IFC directly
IFC is an open, documented format, so models can be read without the software that authored them. IfcOpenShell parses them, Speckle handles versioning and exchange between disciplines, and xeokit renders federated models in the browser. Element identifiers are stored next to the programme data, which is what lets a task point at the geometry it delivers.
Small tools built for one job
Streamlit turns a Python script into a web app without any frontend work, which makes it practical to build something for a single narrow task: a risk model, an approval step, a what-if calculator. The apps run against the same database as the dashboards, so the two cannot drift apart, and there is nothing to license per user.
Swapping components
Because each tool queries Postgres rather than holding its own copy of the data, replacing one means pointing something else at the same database. A team already invested in Power BI or Airflow can keep using it. The cells below cycle through common alternatives for each slot.
Ready to Make Best Practice Executable?
Book a discovery call to see how Synaform and Project:OS can make governance and delivery work for your programme.