Construction · App Starter
RFIs, change orders, daily logs, and sub tracking on one project record — generated into a codebase your firm owns.
A construction project is a paper trail with a schedule attached: questions that must be answered in writing, scope changes that must be priced and approved, and a daily record that settles disputes months later. This starter generates that paper trail as a working app — six entities, five modules — and hands your firm the code instead of a per-user, per-project bill.
01 · Data model
Everything on a job hangs off the project record. These six tables capture the documents that decide who gets paid and who eats the cost — and they're generated into your codebase, ready to match how your firm actually runs work.
| table | what it holds |
|---|---|
projects | Each job with contract value, milestones, site address, owner and architect contacts, and status from award through closeout. |
bids | Sub and supplier bids received per project scope — amounts, inclusions, and award status — so buyout decisions are on the record. |
rfis | Requests for information with question, ball-in-court party, dates asked and answered, and the drawing or spec each one references. |
change_orders | Scope changes with pricing, schedule impact, and an approval chain from proposed through approved to invoiced. |
subcontractors | Your sub base with trades, contacts, insurance expirations, and performance history across every job you've run together. |
daily_logs | The dated site record: weather, crew counts by sub, work performed, deliveries, delays, and photos — evidence, not recollection. |
02 · Screens
Every open job on one screen: contract value, approved change-order total, open RFI count with the oldest one's age, and the last daily log date. A project with no log since Tuesday and an RFI aging past ten days announces itself before the owner calls.
Log the question, attach the drawing reference, assign the ball-in-court party, and the clock starts. Responses close the loop with the answer on the record — so when the flashing detail changes in the field, there's a numbered document trail, not a text thread someone deleted.
Each change order moves through proposed, priced, submitted, and approved with the dollar and schedule impact frozen at each step. Nothing gets built on a verbal yes — and the approved total reconciles against billing without a spreadsheet safari.
Supers file the day's log from a phone: weather, manpower by sub, work areas, delays, photos. Six months later, when the delay claim lands, the project's log feed is a dated, searchable record of exactly what happened and who was on site.
Insurance certificates with expiration alerts, trade coverage, and performance notes across jobs. Before award, you can see that a sub's last three framing jobs each ended with a backcharge — history a fresh bid doesn't mention.
03 · Process
GC or specialty contractor, project sizes, who answers RFIs, how change orders get approved. The starter supplies the document structures; your description shapes them.
Add a submittals section, put retainage fields on change orders, rename daily logs to field reports — conversational changes that become code you can review before anyone in the field sees them.
Deploy to your own infrastructure with approval gates and an audit trail. Project records — the ones that end up in disputes — live in your database from day one.
04 · Fit
The RFI log is a spreadsheet, the change orders are PDFs in a folder, and the daily record is whatever the super remembers. This starter is those same documents as one connected system — without adopting an enterprise platform priced for firms ten times your size.
Subs live downstream of the GC's system but still need their own record: the RFIs they raised, the change orders they're owed, the daily manpower they can prove. Owning that record in your own database means your version of events doesn't depend on someone else's login.
The dashboard turns five jobs into one morning scan: which RFIs aged past the response window, which change orders sit unsigned, which sites went quiet. The follow-up list writes itself before the first coffee is done.
When you're the one approving change orders, you want the proposed-versus-approved history in a system you control — not the builder's portal that goes dark when the relationship does. Generate your own record and every approval carries its context.
05 · Yours
Firms run paperwork differently, and the schema follows yours. Add submittal tracking alongside RFIs, punch-list items that block closeout, retainage and payment-application fields on change orders, or a safety-incident section on daily logs. In Vibe mode these are conversational edits that land as inspectable code.
Because the output is a standard full-stack codebase, deeper work is normal engineering: sync approved change orders into your accounting package, pull weather into daily logs automatically, or expose a read-only owner view per project. The generated app runs without any dependency on Dual7 — it's your firm's software.
Construction platforms tend to price by user count, project volume, or annual construction value — so your software bill scales with your revenue whether or not the tool got better. This starter inverts the deal: Dual7 generates the system as source code your firm owns and hosts. Ten users or fifty, three projects or thirty, the cost is your infrastructure, and your project records — the documents that decide disputes — sit in your own database permanently.
The honest trade is that you operate the system, and construction records deserve care. The governed pipeline exists for exactly that: approval gates before schema changes touch live project data, an audit trail on the records themselves, and regeneration when your processes evolve — so the field never inherits a half-finished change.
A working project-execution app: projects, bids, RFIs, change orders, subcontractors, and daily logs as connected tables, with a multi-project dashboard, RFI workflow, change-order approval chain, mobile-friendly daily log feed, and sub tracking with insurance expirations. Generated as a full-stack codebase your firm owns.
This starter begins at award and runs through closeout. For pursuing work — tender pipelines, estimate revisions, GC relationship history — there's a construction-flavored CRM starter built for that motion, and the two share data conventions so a won pursuit hands off cleanly into a project record.
Yes — the log feed is built mobile-first, because a log that requires a laptop gets written from memory at the office. Weather, crew counts by sub, work performed, delays, and photos file from a phone in a couple of minutes, timestamped against the project.
Each change order carries pricing, schedule impact, and a status chain — proposed, priced, submitted, approved, invoiced — with the record frozen at each step and an audit trail of who moved it. You can reshape the chain to match your contracts, because the workflow is code you own.
Sub records hold certificates with expiration dates and alert before they lapse, alongside trade coverage and cross-job performance notes. Firms with heavier compliance needs — prequalification forms, lien waivers per payment — add those fields to the schema they own.
Spreadsheets hold the data but not the relationships: the RFI that triggered the change order, the daily log proving the delay, the sub attached to all three. When a dispute arrives, the connected record answers in minutes what a folder of spreadsheets answers in a weekend — if at all.
Dual7 App Starters
RFIs, change orders, daily logs, and sub tracking on one project record — generated into a codebase your firm owns. Describe your version to start — the output is a project you own.