Cara Construction AI — Launch Roadmap¶
Superseded — kept for history
This July-pilot → September-rollout framing has been replaced by the live 8-week plan (C14–C17). For the current plan and readiness see the Project Timeline (Gantt) and 8-Week Lock Status.
Platform: Cara Construction AI (caraconstruction.ai)
First tenant: Pinley Mechanical
Last updated: 2026-07-23 (roadmap sync with Conor)
Status: Two-step launch — pilot go-live ~Jul 31 (Alex + Jim on real imported data) → September full company rollout. August is the feature-complete build month across C10/C11/C12. SharePoint import pivots to a "Smart Import" workflow (Ivan B). See the Feature Matrix for the live burndown.
Supersedes: the prior "Jun 29 soft launch / Jul 27 AI Doc Gen / Aug 24 Compliance" framing.
TL;DR
- No August launch milestone. Launch is two steps: pilot in July, full rollout in September.
- C8 (ends Jul 13) — build week: finish launch items + stand up the SharePoint importer.
- C9 (Jul 13–27) — cutover + QA: bulk-import your SharePoint projects, verify, and bug-fix.
- Late July — bulk import + verify; early August — pilot go-live (Alex + Jim on real data, after a bug-fix buffer week).
- August — pilot testing + bug-fixing while we build the September scope (design restyles, AI + sync).
- Sep 4 (holiday Friday) — full company rollout: design updates, drawing features, AI/task integrations, Compliance R1.
2026-07-23 roadmap sync — August/September populated¶
Conor did a full module regroup. The August board was empty because every post-launch feature sat under target-sep unscheduled; this sync populated the cycles and created one module epic per module (Linear label roadmap-epic — filter it for the burndown; per-module estimates get added there in a later pass). Full status in the Feature Matrix.
- Launch: pilot go-live moves to ~Jul 31 (end of the week). C10 (Jul 27–Aug 10) is repurposed as launch week + bug-fix + Wave-1 build. C11 (Aug 10–24) = Wave 2. C12 (Aug 24–Sep, to be created) = Wave 3 + rollout prep. (Cycle dates edited in Linear by Marko.)
- SharePoint → Smart Import (PIN-678 + B1–B7 = PIN-679–685, Ivan B): one SharePoint authorization → browse all sites/folders → files land in a central staging area for review (not straight into projects) → user reorders/renames/reclassifies → AI learns from the corrections → approve → commit. Go-forward import UX; the late-July pilot bulk import still uses the current URL-paste flow. Do not debug the Excel/Trimble takeoff import (Jim takes off in Trimble separately).
- New module epics: Scheduling Module cross-project (PIN-686), Task Module AI-from-email/transcript (PIN-692 under PIN-29), Takeoff accuracy (PIN-694), UI/UX Restyle Wave (PIN-687), Daily Logs new-design (PIN-688), Clarifications (PIN-689), WIP (PIN-690), Field & Project Controls (PIN-691), feature-matrix meta (PIN-693).
- Adopted existing epics (labeled + slotted): Progress PIN-56, PO PIN-137, Project schedule PIN-139, Analytics PIN-14, Pricing PIN-18, Tasks PIN-29, Compliance PIN-7, Shares PIN-520, Master CO Log PIN-61, Exec Dashboard PIN-60.
- September scope confirmed: IN — Compliance R1, Executive dashboard, WIP reports. OUT — Marketing/Bid-targeting (PIN-518). Deferred regardless — AI Hub, Financials/Foundation (PIN-373).
- Already built (pilot QA verifies), despite Conor's uncertainty: Award → Project (PIN-274, Done) and Proposal generation (PIN-134, Done + markup/base-bid QA fixes).
- Capacity note: Mateo out ~3 weeks in August → UI/UX restyle build lands on his return (C11→C12); the design review (Conor + Marijana walkthroughs via Claude Design) runs during August.
The launch in one paragraph¶
The app is mostly built. This cycle (C8, ends 2026-07-13) finishes the launch items and stands up the data-import program. Next cycle (C9, 2026-07-13 → 07-27) is the cutover plus QA: we bulk-import your SharePoint projects, verify them while your team keeps working normally, and do a final sweep import on the cutover day. Alex and Jim go live on real data in early August, after a bug-fix buffer week. Then a pilot month of testing and bug-fixing, and the full company rollout in September with the design updates, drawing features, and advanced AI/task integrations.
Visual timeline¶
gantt
title Cara Construction AI — Launch Timeline (Jul–Sep 2026)
dateFormat YYYY-MM-DD
axisFormat %b %d
section C8 Build (Jun 29–Jul 13)
Finish launch items (PDF→fpdf, KPIs) :crit, b1, 2026-06-29, 14d
Stand up SharePoint importer :crit, b2, 2026-06-29, 14d
Cara Hub + brand handoff (carries C9) :b3, 2026-07-07, 14d
section C9 Cutover + QA (Jul 13–27)
Bulk import + verify :crit, c1, 2026-07-13, 10d
Delta sync + Open-in-SharePoint :crit, c2, 2026-07-13, 12d
QA pass (Marijana) + bug-fix :c3, 2026-07-13, 14d
Bulk import + verify complete :milestone, 2026-07-24, 1d
section Aug — Pilot + Sept build (Jul 27–Sep 4)
Pilot testing + bug-fix :a1, 2026-07-27, 39d
Design restyles (PIN-512/513/514) :a2, 2026-07-27, 28d
AI + sync (PIN-507/510/391/228) :a3, 2026-08-04, 30d
On-prem rack cutover (PIN-360/361) :crit, a4, 2026-07-27, 14d
Pilot go-live (Alex + Jim) :milestone, crit, 2026-08-04, 1d
section September — Full rollout
Full company cutover (holiday Fri) :milestone, crit, m2, 2026-09-04, 1d
Compliance Round 1 :s1, 2026-09-04, 21d
section Milestones
Pilot go-live :milestone, 2026-08-04, 1d
Full company rollout :milestone, 2026-09-04, 1d
Cutover date
Plan: bulk import + verify the last week of July (~Jul 24, during C9), a bug-fix buffer week, then pilot go-live in early August (Alex + Jim only). There is no US holiday Friday before Jul 29 (Jul 4 was a Saturday), so the company-wide cutover targets the next one, Labor Day Fri Sep 4. The pilot is testing; the company rollout stays September. Conor to confirm.
SharePoint import + file workflow (launch scope)¶
SharePoint data ingestion is a must-have for the first launch — the app can't onboard the office without the live project data. This is more than extract-move-load: files are ordered into a folder tree, metadata is reconciled, and edits have to stay in sync without duplicate copies.
flowchart LR
A[SharePoint libraries<br/>Estimating / Projects / Takeoffs] -->|MS Graph| B[Importer<br/>PIN-508]
B --> C[(Azure Blob<br/>permanent source of truth)]
C --> D[Bids + Documents in Cara<br/>folder tree preserved]
E[Master Bid List 2026<br/>PIN-503] -->|metadata| D
D --> F[Open in SharePoint<br/>PIN-517]
F -->|edit in place · Office autosave| A
A -->|Graph delta| G[Re-sync<br/>PIN-509 / manual importer re-run]
G --> C
style C fill:#16a34a,color:#fff
style F fill:#4DA6FF,color:#fff
How it works:
- An importer (PIN-508) pulls your SharePoint libraries via Microsoft Graph and streams every file into Azure Blob — the app's permanent, versioned source of truth — preserving the folder tree and turning folders into bids + documents.
- Bid metadata (GC, value, trade, due date, award status) comes from the Master Bid List 2026 export (PIN-503) — nothing hand-typed.
- No data freeze. Bulk import 1–2 weeks out → verify while the team keeps working → final sweep import on cutover day (PIN-509).
- Editing (the drift fix, PIN-517). Don't download to edit. Every imported file keeps its SharePoint link, so Cara shows an "Open in SharePoint" action that opens that exact file in place. The team edits in Word/Excel as today (Office autosaves back — no downloads-folder copy). Graph sees the change; the next re-sync pulls the new version. SharePoint is the system of record during the beta; direction flips to Cara-as-source after the full cutover.
Honest boundaries
- In-app Office editing inside Cara is a separate, bigger build — not proposed now. "Open in SharePoint" gets the same result using Microsoft's own editor.
- Cara → SharePoint write-back is a post-cutover phase (PIN-391 feasibility).
- AI reading your estimate sheets into line items with vendor-quote pricing (PIN-507) is high-value but a separate post-launch build, sized off a handful of your real sheets.
- During the small pilot, the "Sync now" button (PIN-510) isn't required — we refresh by re-running the idempotent importer. The button is a September nicety.
Import program tickets: PIN-501 (umbrella) · PIN-508 (bulk importer) · PIN-509 (delta + no-freeze cutover) · PIN-506 (AWS runner) · PIN-517 (Open in SharePoint) · PIN-502 (Entra app, Conor/IT) · PIN-503 (Master Bid List CSV, Conor).
July — pilot cutover¶
C8 (Jun 29 – Jul 13) — build week¶
Finish the launch items and stand up the importer.
| Item | What | Ticket | Owner |
|---|---|---|---|
| PDF → pure-Go | Change Order + Proposal PDF off Chromium (would fail in the production container) | PIN-504 | Artem |
| SharePoint bulk importer | Graph traversal + Blob upload + Master Bid List metadata | PIN-508 | Ivan B |
| Role → KPI binding | Role-based dashboard KPI data | PIN-505 | Artem |
| Estimate-sheet tweak | Enlarge GCs & Competitors | PIN-516 | Artem |
| Cara Copilot | Single coordinated, context-aware assistant | PIN-490 | Mateo |
| Cara Hub redesign | 3 action cards | PIN-511 | Mateo |
| Brand handoff v01 | Design tokens, typography, favicons, marks, Cara Vault login | PIN-515 | Mateo |
Cara/UI work (PIN-490/511/515) carries into C9 by design — Mateo is part-time.
C9 (Jul 13 – Jul 27) — cutover + QA¶
Lean by design: cutover mechanics + bug-fixing; quick improvements in week 1 only.
- PIN-509 — SharePoint delta sync + no-freeze cutover (the cutover mechanic).
- PIN-517 — "Open in SharePoint" action + capture each file's SharePoint link on import.
- Bulk import + verify happens in this window, 1–2 weeks before cutover day.
- QA — Marijana runs a deep pass; the team fixes and she verifies (see QA below).
- Exit: bulk import + verify late July → bug-fix buffer week → pilot go-live early August (Alex + Jim on real data).
QA (new)¶
A senior QA engineer (Marijana) — worked with us before — starts immediately, part-time, on top of the dev team owning automated + manual testing. She goes deep, module by module, on edge cases developers and non-technical users miss.
flowchart LR
A[Marijana files bug<br/>Cycle 9 + qa label<br/>Priority = severity] --> B[Marko daily triage<br/>assign surface owner]
B --> C[Dev fixes<br/>→ In Review]
C --> D[Marijana verifies<br/>on staging]
D -->|pass| E[Done]
D -->|fail| C
style A fill:#10B981,color:#fff
style E fill:#16a34a,color:#fff
- Files bugs into C9 with the
qalabel, Priority = severity (Urgent=blocker → Low=cosmetic). - Dev + QA share the In Review state (no separate board column); the
qalabel marks tickets Marijana must verify. - Lockdown rule: real, valid bugs into the cycle; feature ideas / polish → backlog (
target-sep). - Conor meets her to convey product vision; recurring weekly QA sync. Plus a weekly Mateo ⇄ Conor design sync so UI is reviewed page-by-page before big bursts.
Design — brand handoff v01 (July) vs full redesigns (September)¶
From docs/cara-brand-handoff-v01/ (client reference).
- Design tokens (8-color palette, type scale, shadows) → Tailwind
@theme - Typography (Nunito / DM Serif Display / IBM Plex Mono)
- Favicons + platform marks (sidebar + floating "Ask Cara" button)
- Cara Vault login rebuild to spec (4 states) + auth contract — the bulk of PIN-515
- Cara Hub 3 action cards (PIN-511)
September dependency
Full-page mockups for PIN-512/513/514 are not in the handoff package — Conor must supply those design files before build.
Guardrails (from the handoff)
Pinley logo stays top-left (Cara is the platform brand, Pinley is a tenant) · no vendor branding on login (M365 SSO invisible) · SVG masters only (no redraw/recolor) · ask before adding colors/fonts outside the system.
August — pilot testing + September build¶
August is a working month toward September, not a launch. Every target-aug ticket has been relabeled target-sep.
- Pilot testing + bug-fixing on real data with Alex + Jim.
- Building September scope: design restyles (PIN-512/513/514, pending Conor's mockups), AI + sync (PIN-507 estimate-xlsx, PIN-510 Sync now, PIN-391 bidirectional sync, PIN-228 AI doc extraction).
- On-prem rack cutover (PIN-360/361) — production moves from Codilas/AWS to Conor's on-prem rack; AWS stays as hot standby.
September — full company rollout¶
Gated on Conor's own criteria: design changes for the main features done, Cara solid, import + sync dialed in.
| Stream | What | Tickets |
|---|---|---|
| Design | Vendor/client list, bid overview, project handoff redesigns | PIN-512 / 513 / 514 |
| AI + sync | AI estimate-xlsx ingestion, Sync-now button, bidirectional sync, AI doc extraction to prod | PIN-507 / 510 / 391 / 228 |
| Field/PM | Tasks, Progress, Punch List + pilot-feedback backlog (calendar/types, photo album, equipment schedule) | PIN-29 / 56 / 140 / 485–488 |
| Cara | Copilot matures, Cara × Tasks delegation | PIN-490 / 292 |
| Compliance | Round 1: COI mgmt, rule engine, review page, renewal tracking, secure upload | PIN-91 / 96 / 97 / 99 / 100 / 104 / 105 |
Compliance Round 1 flow¶
flowchart TD
A[Project created] --> B[COI requirement set]
B --> C[Send upload link to sub]
C --> D[Sub uploads insurance docs]
D --> E{Compliance check<br/>rule engine}
E -->|Pass| F[Compliant — PO + Site Access allowed]
E -->|Fail| G[Non-compliant — issues raised]
G --> H[Renewal tracking — 30/10/3 day reminders]
style A fill:#9B59B6,color:#fff
style F fill:#16a34a,color:#fff
style G fill:#EB5757,color:#fff
September rollout — feature delivery schedule¶
Answers Conor's 2026-07-07 ask for completion dates. These are the features he listed (plus what a prototype-vs-Linear gap scan surfaced), grouped into September rollout waves. All are September-rollout or post-launch — none are July-pilot scope. Windows are indicative; concrete Linear cycles attach as C10/C11/C12 are created. Filter Linear by target-sep for the live queue.
gantt
title September Rollout Waves (indicative)
dateFormat YYYY-MM-DD
axisFormat %b %d
section Wave 1 — core PM + procurement
PO full module (PIN-137/254/255) :w1a, 2026-08-25, 12d
Project schedule (PIN-139/335) :w1b, 2026-08-25, 12d
Progress markup base (PIN-56/443-445) :w1c, 2026-08-25, 12d
section Wave 2 — design + compliance + AI
Design restyles (PIN-512/513/514) :w2a, 2026-09-06, 12d
Compliance R1 (PIN-91/96/97/99/100/104) :w2b, 2026-09-06, 14d
Cara takeoff accuracy (PIN-441/309) :w2c, 2026-09-06, 14d
Smart import to prod (PIN-228/334) :w2d, 2026-09-06, 12d
section Wave 3 / post-launch
Bid analytics (PIN-14) :w3a, 2026-09-20, 14d
Rate tabs UI (PIN-18/21/50) :w3b, 2026-09-20, 14d
Punchlist / closeout (PIN-140/141) :w3c, 2026-09-20, 14d
Master CO Log + Bid tracking (PIN-61/63) :w3d, 2026-09-20, 14d
Marketing AI (PIN-518) :w3e, 2026-09-20, 14d
Admin/Finance/Exec AI (PIN-519) :w3f, 2026-09-20, 21d
| Conor's item | Linear | Status | Wave |
|---|---|---|---|
| Award → budget; estimate → project (fully tested) | PIN-266, PIN-274/42 | Done — pilot QA verifies | Already built |
| Purchase Orders — full centralized module | PIN-137 + PIN-254/255/303 (PIN-266/276/363/430 done) | Partly done | Wave 1 |
| Project schedule feature | PIN-139, PIN-335 | Planned | Wave 1 |
| Progress markup | PIN-56, PIN-443–447 | Planned | Wave 1 base → Wave 2 |
| Cara takeoff engine (accuracy) | PIN-441/439/442/309 (base shipped) | Ongoing | Wave 2 + post |
| Vendor + insurance + compliance module | PIN-7 stack (PIN-91/96/97/99/100/101/104/105/336) | Planned | Wave 2 |
| Smart import (AI doc → production) | PIN-228, PIN-334 (PIN-250 done) | Aggregator done | Wave 2 |
| Bid analytics tab | PIN-14 | Planned | Wave 3 |
| Labor / unit / equipment rate tabs | PIN-18/21/50/67 | Rate data seeded | Wave 3 |
| Punchlist / closeout / share | PIN-140/141 (share = clarify) | Planned | Wave 3 |
| Master CO Log; Bid tracking | PIN-61; PIN-63 | Planned | Wave 3 |
| Marketing AI | PIN-518 (new) | Planned | Wave 3 |
| Admin / Finance / Executive AI tools | PIN-519 (new), PIN-60, PIN-371 | Needs Conor scope | Wave 3 |
Awaiting Conor clarification (not guessed)
- Estimate sheet "still not built" — it is built (Estimate tab, sections/line-items, equipment; PIN-197/98/319 Done). What specifically is missing?
- "Share tabs" in the project folder — what should they do (per-project external share link? share with GC/owner)?
- Which AI tools for Admin / Finance / Executive — scopes PIN-519 + confirms the Exec Dashboard reactivation (PIN-371).
Gap scan — other items surfaced (not on Conor's list)
A prototype-vs-Linear scan flagged a few surfaces to confirm scope on (most already covered by existing tickets): Subcontractor billing / pay-applications (ties to deferred Financial module, PIN-327), a shared Leveling review portal, and a bid Clarifications/Q&A tab. Flagged for a scope check with Conor; none are July-pilot scope.
AI Takeoff engine — phased rollout (context)¶
The takeoff engine is a multi-phase pipeline. Phases 1–4 are production; AI phases are operator-supervised and mature through the pilot into September+.
flowchart LR
A[1. Intake<br/>PDF upload] --> B[2. View<br/>pop-out + system isolation]
B --> C[3. Integrate<br/>side-by-side w/ Estimate]
C --> D[4. Measure<br/>manual tabular · LF/lbs]
D --> E[5. AI Auto-Takeoff<br/>per-system shaded passes]
E --> F[6. AI Assembly<br/>detail-page extraction]
F --> G[7. VE Assistant<br/>cost-reduction suggestions]
G --> H[8. Productivity Loop<br/>Daily Logs → labor rates]
style A fill:#16a34a,color:#fff
style B fill:#16a34a,color:#fff
style C fill:#16a34a,color:#fff
style D fill:#16a34a,color:#fff
style E fill:#F39C12,color:#fff
style F fill:#F39C12,color:#fff
style G fill:#9B59B6,color:#fff
style H fill:#9B59B6,color:#fff
Legend: 🟢 production · 🟠 operator-supervised (matures through pilot) · 🟣 September+.
What we need from you (Conor)¶
Unblocks the data import (long poles — sooner the better)¶
- PIN-502 — Microsoft tenant app registration with read access to just the Estimating + Projects sites, so the importer can pull files. Import isn't blocked waiting on it (we start on the app@pinley path), but it makes the automated sync cleaner. Exact steps drafted, ready for your IT.
- PIN-503 — Master Bid List 2026 exported as a sheet, so each project's details fill in automatically.
Decisions to lock¶
- Cutover date — bulk import ~Jul 24, pilot go-live early August (after a buffer week), full holiday-Friday company cutover Sep 4 (your call).
- September design files for PIN-512/513/514 full-page redesigns.
- Three design decisions still open: project-schedule depth, Microsoft/SharePoint priority, Cara knowledge-base timing.
Infra (touch your accounts)¶
- PIN-356 / PIN-376 — AWS account + Mercury credits; O365 tenant/mailbox.
- On-prem site readiness (power/network) for the rack cutover.
Risks we're flagging¶
| # | Risk | Impact | Mitigation |
|---|---|---|---|
| 1 | PIN-504 (PDF → pure-Go) is the hardest launch blocker | Proposals/COs fail in the production container | Land it in C8; #1 C9 item if it slips |
| 2 | On-prem cutover DevOps (PIN-360/361) still Todo | Launch-readiness on the infra side | Cloud-first launch decouples from rack; cutover is opportunistic |
| 3 | Import critical path runs through one owner (Ivan B) | Slip risk | He clears DB hardening + pilot-prep first; PIN-464/465 can shift to Artem |
| 4 | Import depends on Master Bid List (metadata) + ideally the Entra app | Both Conor-side | Importer starts on delegated auth; metadata degrades gracefully |
| 5 | September full-page redesigns need Conor's mockups | Blocks PIN-512/513/514 build | Flag now; weekly design sync to keep them moving |
Linear references¶
- Current roadmap doc: Development Roadmap v6 (Linear).
- Monthly buckets:
target-jul(launch scope) ·target-sep(September rollout + post-launch).target-augis retired — August is a working month, not a launch target. - Import program: PIN-501 umbrella + PIN-508/509/506/517 + PIN-502/503 (client-action).
- QA queue:
qalabel in the active cycle. - Cycles: C8 (Jun 29–Jul 13), C9 (Jul 13–27), C10 (Jul 27–Aug 10).