Home/ News/ v7.0.0 - One way in, for every module
Release 2026-06-06 ~6 min read

v7.0.0 - Every module opens the same way,
and finally says what it is for.

This release is about how the whole app reads. Every module now wears one identity in the top bar, opens with an info card that names the problem it solves and explains in plain words what you put in, what you get out and where it flows next, and collapses that card to a single icon when you want the room back. Underneath, a quiet palette bug that had been dropping every translucent surface is fixed, so the interface finally renders the way it was designed. The AI Estimate Builder, a reworked collaboration hub and orientation copy for 110 modules in 27 languages ride along.

v7.0.0

The shape of this wave is coherence. The platform has grown to well over a hundred modules, and each one had drifted into its own way of titling itself, picking a project, drawing a breadcrumb and explaining what it does, which was usually not at all. v7.0.0 settles that into one pattern the whole app shares. One name and icon per module in the top bar, one orientation card per page that earns its space, one global project selector, and one page-header layout. It is the first release where the app feels like a single product rather than a hundred screens that happen to ship together. Everything here was verified against the live backend, the Alembic head is a single revision, the frontend type-checks clean and the backend is ruff clean.

What landed

One identity per module, everywhere

The module name and icon live in the top bar next to the project selector and nowhere else. Duplicate in-page titles are gone from roughly 90 pages, breadcrumbs render only when they add real depth, and the per-page project pickers are removed. You choose the project once, globally.

An info card that names the pain

Every module page opens with the same card, and the heading names the problem the module solves rather than repeating the module name. "Nothing slips through at handover" instead of "Punch list". The body says in two or three plain sentences what you put in, what you get out and where the result flows next, with links to the connected modules.

Collapse it to the top bar

Collapsing the card no longer leaves a stub behind. The card disappears entirely and a small info icon appears in the top bar right after the module name, and one click brings the card back. Longer step-by-step explanations get a "Show more" expansion with simple list and emphasis formatting.

Translucent surfaces render again

The theme palette had silently dropped every semi-transparent variant of the brand and surface colors at build time, so card backgrounds, hover tints and accent borders never reached the screen and the info cards looked like bare text on white. The palette now compiles those variants correctly in both light and dark themes.

The AI Estimate Builder

A new module that takes a typed scope, a BIM model or uploaded documents and walks it to a priced bill of quantities in four guarded stages: understand the source, group the quantities, match rates, review and apply. Every stage shows its work and waits for a person. Unit rates only ever come from the cost catalogue.

A real collaboration hub

The collaboration hub is now a workspace instead of a set of dead links: live comment threads, BIM viewpoints you can create and open, who-is-here presence and your own element locks, all on one screen.

Validate deep links and a diary calendar

The Validate button in the BOQ editor jumps straight into the validation dashboard with that BOQ preselected, and the dashboard restores your last report when you return. Rule-set chips read as names a person uses. The daily diary calendar is clickable: pick a day to create or edit that day's entry, with keyboard navigation.

Orientation copy in 27 languages

The new info-card copy was written per module against what each page actually does, for 110 modules and in all 27 interface languages, so the card reads naturally everywhere and no screen falls back to English mid-sentence.

One way in, for every module

The change that defines this release is the one a person feels on every single screen. Until now the module name might be in a page heading, a breadcrumb and a tab title all at once, the project might be chosen in one place on one page and a different place on the next, and an empty module gave you no idea what it was for. v7.0.0 settles all of that. The module name and its icon live in the top bar next to the global project selector, and that is the one place they appear. In-page duplicate titles are gone from around 90 pages, breadcrumbs show only when they add real depth such as a project or a detail trail, and the per-page project pickers are retired in favour of a single global choice. Page headers now share one layout, a muted one-line subtitle on the left and the actions on the right, on a single midline, with one vertical rhythm instead of each page hand-rolling its own margins. The result is an app that reads as one product.

A card that explains the module, not its name

The orientation card at the top of each module page used to repeat the module name and little else, and around 60 pages had no card at all. Now the heading names the problem the module solves, "Nothing slips through at handover" rather than "Punch list", and the body explains in two or three plain sentences what you put in, what you get out and where the result flows next, with direct links to the connected modules so the next step is one click away. The copy was written by hand for each module, against what the page actually does, for 110 modules and in all 27 languages. And when you have read it, collapsing the card no longer leaves a stub on the page: it folds away entirely and a small info icon takes its place in the top bar, one click from coming back. Longer explanations get a "Show more" expansion with simple formatting for lists and emphasis.

The bug behind the bare cards

Those info cards were designed to wear a light translucent blue, and for a while they did not. They looked like plain text on white, in both themes, and so did a long tail of other surfaces. The cause was a single quiet bug in the theme palette: it was dropping every semi-transparent variant of the brand and surface colors at build time, so card backgrounds, hover tints and accent borders that were specified in the design never reached the screen. One fix restored dozens of surfaces at once. The palette now compiles the alpha-modified variants correctly, and the info cards, along with everything else that relied on a translucent tint, render the way they were meant to in light and dark.

The AI Estimate Builder

The headline new module takes any starting point, a typed scope, a BIM model or a set of uploaded documents, and walks it to a priced bill of quantities in four guarded stages: understand the source, group the quantities, match rates from the cost database, then review and apply. Every stage shows its work and waits for a human decision. The model suggests groupings and matches with confidence scores, but unit rates only ever come from the cost catalogue. The model is never allowed to invent a price. Runs are persisted, so a half-finished estimate survives a reload, and the whole flow degrades gracefully when no AI key or vector database is configured. It is the AI-augmented, human-confirmed pattern the platform has held to from the start, applied to the one task estimators ask for most.

Connective tissue and honest screens

A handful of modules got the wiring they were missing. The collaboration hub is a real workspace now, with live comment threads, BIM viewpoints you can create and open, who-is-here presence and your own element locks on one screen, instead of a page of links that went nowhere. The Validate button in the BOQ editor jumps straight into the validation dashboard with that BOQ preselected, the dashboard restores your last report when you come back, and the rule-set chips read as DIN 276, GAEB, NRM and MasterFormat rather than raw engine ids. The daily diary calendar is clickable, with keyboard navigation, so you pick a day and edit that day's entry directly. The role-based reporting dashboards stop holding every widget hostage behind one slow fan-out: widgets load independently and resolve to data, an honest empty state with a way forward, or a retry, never a permanent grey box, and figures with no source yet show a dash with a note explaining what will fill them. Supplier catalogs stops pretending to be a purchasing module and points clearly at Procurement for requisitions, purchase orders and three-way matching, focusing on what it really is, the vendor and item reference library.

Fixes riding along

Reopening a punch-list item works again: resolved items can go back to open, verified items can be reopened and closed items can be brought back, matching what the workflow allows on the server. Monte Carlo risk analysis now respects the project currency on every figure and reads the project from the global context, and the subcontractor payments portal no longer traps signed-out visitors, it explains that access comes through the invitation link and offers a way back to the app. The element-to-cost matching wizard speaks all 27 languages now, including the stage rail and step counter that were English-only before. The project pill in the top bar yields space on mid-size screens, so module names no longer truncate to "Carbo..." at common laptop widths. And the desktop app detects an already-running backend on the common ports and attaches to it instead of failing a fresh boot next to it, with the splash screen able to open the launcher log directly when something does go wrong.

Upgrade

pip install --upgrade openconstructionerp

The Alembic head is a single revision and the normal install path creates the schema from the models and stamps it at the latest version. The desktop installers for Windows, macOS and Linux carry the launcher that attaches to an already-running backend and can open its log straight from the splash screen. If you run an external PostgreSQL through DATABASE_URL, nothing about that connection changes. Questions or trouble upgrading, write to info@datadrivenconstruction.io.

Try v7.0.0 today.

Live demo in your browser, or self-host in five minutes. AGPL-3.0, no signup required.