A pipeline job runs as many inspectors as it needs, across nine disciplines, and their paperwork ends up in as many places — inboxes, trucks, a spreadsheet somebody keeps. ROW QC is the one platform it all lands in: daily reports, controlled forms, photographs and signatures, traceable from the day they were filed to the turnover book they end up in.
Every joint carries a foil tag with a serial and a QR code. Scan the two tags either side of a weld — behind first, then ahead — and the weld, its place in the weld map, its stationing and its line on that day’s report are all written in one action. Stationing stops being something anybody types, which is where a weld map usually starts disagreeing with itself.
The serial on the foil is the one in the database and the one on the public page. It is formatted in one place, so a printed tag and a screen cannot disagree about what a joint is called.
Generic construction software treats a pipeline like a building with a long hallway. ROW QC is built on stationing, segments and measured scope, because that is how the work is bid, walked and paid.
Scope is a set of station intervals with the roads, creeks and foreign crossings taken out of it. Percent complete is measured against what is actually in scope, not against total length.
Nine is the number of disciplines, not the number of people. A spread runs as many inspectors in each lane as the job needs; every one of them sees their own work, and the chief and the office see all of it in one place.
Signing a daily report takes a SHA-256 digest of the report and its quantities and stores it. The job book re-checks every digest when it compiles, and prints the result.
Two inspectors reporting the same stretch of ditch is not twice the ditch. ROW QC takes the union of every reported station interval and clips it to the measured scope, so a stretch walked twice counts once.
Adding up daily footage is the obvious way to compute progress and it is wrong in one specific way that matters: it double-counts. A spread that reports 400 feet of lowering-in on Tuesday and re-reports 150 of the same feet on Wednesday has covered 400 feet, not 550. The difference compounds for a whole job, and it always compounds in the direction that flatters the schedule.
Welding progress is the sum of the joint lengths on the weld map. It is not entered separately, so it cannot disagree with the map.
A quantity that turns out to be wrong is voided with a reason and corrected on a later report. The original stays in the record. That is what makes it a record.
Weather is pulled from the National Weather Service for the project location and attached to the report — the standing argument about what the day was actually like, settled.
The reason this paperwork exists is not the schedule. It is the day somebody asks what was done, by whom, on what date, and against which revision of which procedure — and the answer has to survive being looked at closely.
Eighteen forms carry their own identifier and revision in the footer — RQ-NCR-01 Rev 0 — the way a controlled document does. Print one blank for the field or filled from the record; it is the same sheet either way.
A record that turns out to be wrong is voided with a reason and superseded. The original stays, marked, and prints in the book. An audit that cannot see the correction is an audit of the wrong document.
Punch items are signed off by somebody other than whoever corrected them, and the database refuses it otherwise. A timesheet is approved by somebody who can approve it, and after that neither the sheet nor its hours can be changed.
Signing takes a SHA-256 digest of the report and its quantities. The turnover book re-checks every digest as it compiles and prints the result, so a book that says the records are intact has just verified it rather than assumed it.
Photographs carry the time the shutter fired and, where the camera recorded one, the position — drawn on a map with an arrow for the way it was facing. Where a phone stripped the location, it can be set by hand rather than guessed at later.
Turnover produces a single archive: the book as a printable page, every record as a spreadsheet with its own column names, every uploaded file, and a manifest listing all of it. The project then goes read-only rather than being deleted.
Cover, contents, record integrity, progress summary, weld map, every signed daily report and every record sheet — compiled from the database, with the uploaded files merged in behind it. Pick the sections you need; the book names the ones you left out so a partial copy cannot be mistaken for a complete one.
Every record type prints as a blank form from the same renderer that prints the filled one. The boxes on the paper are the fields the app stores, so nothing written in the field has nowhere to go when it gets typed in.
A drawing tool for tie-ins and crossings, so a welding inspector can put an isometric in the book instead of a photograph of a napkin.
That is enforced by row-level security in Postgres, not by the app being careful. All 31 tables have it switched on, and it is checked by a verification suite that stands up two rival companies and tries to cross the line from both directions.
Every numbered schema step ships with a suite that attacks it, and each suite is deliberately broken to confirm it fails when it should.
A REST probe walks every table, view and function as an anonymous caller and records what comes back. It is re-run after every schema change.
Every record type exports to CSV and the job book to PDF. There is no format in here you cannot get out.
That page opens with the gaps rather than the reassurances, and it carries the date each claim was last verified against production. If something on it has gone stale, it is meant to be obvious.
Yes, and that is the point — the report carries who filed it. An admin creates the account and the inspector gets a welcome email with temporary sign-in details, then sets their own password the first time they open it. Nobody shares a login, so nobody has to guess whose report is whose.
It stops being editable, and the database stores a digest of it. Inspection results, approvals and voids are still permitted afterwards and are deliberately outside the digest, because those are things that legitimately happen to a record after it is filed. Everything a signature is supposed to freeze is inside it.
Every record type exports to CSV, and the job book exports to PDF with the uploaded files merged in. Neither is behind an upgrade.
Not yet, and it is listed as a gap rather than glossed over. The app needs a connection to file a report. Blank forms are printable for exactly this reason — fill them out on the ROW, type them in at the motel.
Same family, different trade, and — importantly — a separate database. Hot Pass is welding, Sparky is electrical, ROW QC is pipeline right-of-way. Nothing is shared between them but the ideas.
Create a company account, set up a project with its segments and scope, and invite the spread. The job book is there from day one — it just gets fuller.
Create a company account