Afternoon Brief

Friday, May 22, 2026 — 12:00 PM PT

Last Night’s Builds

Closeout Warranty QR Tags Closr+

Dominique shipped Closeout Warranty QR Tags (v2.22.0) — scannable QR codes for each equipment asset linking directly to warranty documents, O&M manuals, training videos, and spare parts lists. Facilities teams can now scan a sticker on an HVAC unit and immediately see when the warranty expires, who the service contact is, and the original commissioning record. This was yesterday’s afternoon brief idea #1, extending the brief-to-build streak to 10 consecutive days (May 13–22). The “premium handover suite” is now complete: Training Evidence Packet → Exposure Snapshot → Aging Buckets → Warranty QR Tags.

Branch: feature/nightly-20260522
Commits: 3c3d5d2 (stub) → 95d07fc (feat) → fc6f3c7 (merge)
Version: v2.22.0 · TestFlight: Uploaded (9ff8f2cb)
Builder: Dominique

Offline Sync Outbox Inspectr+

Katey/Howard-3 shipped the Offline Sync Outbox (v4.27.0) — a persistent, visible queue showing every inspection report, photo, deficiency, and voice note waiting to sync. Each item displays type, size, timestamp, retry count, and status with a home-screen banner and tap-to-expand. This was yesterday’s afternoon brief idea #2, completing the offline loop opened by the Inspector Route Pack (v4.26.0): download → work → upload. Inspectr+ was the last app without an outbox; all four apps now have offline sync visibility.

Branch: feature/nightly2-20260522
Commits: 83fd728 (feat) → b91df76 (merge)
Version: v4.27.0 · TestFlight: Uploaded (e11d9933)
Builder: Katey / Howard-3

Buildr+ — No Build

Buildr+ received no nightly build. Last activity: May 21, Evidence Integrity Hash (v3.17.0) by Dominique. Katey last built Buildr+ on May 17 (RFI Answer Field Verification) — a 5-day builder gap, making Buildr+ Katey’s top rotation priority for tonight.

DailyReportr+ — No Build (Unmerged Branch)

DailyReportr+ received no merged build. Last activity on main: May 21, Report Completion Score (v2.24.0) by Katey. However, Dominique has an unmerged remote branch (feature/nightly-20260522-weekend-work-exceptions) with a Weekend Work Exception Dashboard Card — this may still be in progress or awaiting review. Dominique last merged to DailyReportr+ on May 17 (Weather Delay Claim Timeline) — a 5-day builder gap.

Codebase Health

Flutter Analyze — All 4 Apps

Buildr+
0 errors · 61 warnings · 380 infos
Closr+
0 errors · 47 warnings · 205 infos
Inspectr+
0 errors · 90 warnings · 881 infos
DailyReportr+
0 errors · 70 warnings · 1,556 infos
Status: All 4 apps remain error-free for the fourth consecutive day. Warning counts held steady — tonight’s builds introduced zero new warnings. Closr+ remains the cleanest codebase (252 total issues) despite the QR Tags feature landing. Inspectr+’s info count ticked up by 1 (880 → 881) with the Sync Outbox feature. Notable: Closr+ has 9 invalid_use_of_protected_member warnings in documents_page.dart calling setState from outside a State subclass — a potential runtime concern worth a lint pass. DailyReportr+’s missing assets/images/ directory warning persists. Dominant lint debt: deprecated_member_use (withOpacity) and require_trailing_commas — both auto-fixable with dart fix --apply.
Recurring Themes from Morning Briefs

Shipped: Both Afternoon Brief Assignments Built — Again

Yesterday’s afternoon brief assigned Dominique → Closr+ (Warranty QR Tags) and Katey → Inspectr+ (Offline Sync Outbox). Both shipped exactly as suggested. The afternoon-brief-to-nightly conversion streak now stands at 10 consecutive days (May 13–22), with every suggested assignment being built the following night. This is the first time both builders shipped the exact app and feature pairing from the brief on the same night.

Active: Cross-App Offline Parity — Now Complete

With tonight’s Inspectr+ Sync Outbox (v4.27.0), all four apps now have offline sync visibility. The offline-first stack that morning briefs have flagged for weeks is converging: DailyReportr+ (Sync Receipt + Conflict Queue + Outbox), Inspectr+ (Route Pack + Outbox), Closr+ (Offline Evidence Inbox + QR Tags), Buildr+ (Evidence Integrity Hash). The next frontier flagged by morning briefs: pre-sync data quality — validating photos, fields, and documents before they leave the device.

Active: Photo/Evidence Capture Needs Quality Layer

Three consecutive morning briefs have pushed photo/evidence capture themes: Offline Photo QA Before Sync (May 22), Photo-to-RFI Draft (May 21), and Evidence Integrity Hash (May 20, now shipped). The pattern is clear: field-captured photos need annotation, validation, and metadata checks at the point of capture. DailyReportr+ and Inspectr+ are the primary targets — both have heavy photo attachment workflows with no pre-upload quality gate.

Feature Ideas

1. Offline Sync Outbox Buildr+

Port the Offline Sync Outbox pattern to Buildr+ — the last app without a user-facing sync queue. Buildr+ already has the queueing infrastructure (SyncManagerService, LocalDatabase.queueOperation, markSynced, markFailed) but no visibility layer. Add a Sync Outbox page showing pending RFIs, submittals, change orders, and meeting minutes with per-item status, retry actions, and a home-screen banner showing the pending count. This completes the cross-app offline parity that morning briefs have tracked for weeks.

Why now: Inspectr+ just shipped exactly this feature tonight (v4.27.0), proving the pattern. Buildr+ has the heaviest document pipeline (9+ document types) and is the app most likely to have items stuck in a silent queue. With the Evidence Integrity Hash ensuring export authenticity, the outbox adds the complementary visibility layer — users can see what’s hashed and waiting vs. what’s synced.

Sketch: lib/models/sync_outbox_item.dart — data class wrapping existing pending_operations rows with status enum. lib/providers/sync_outbox_provider.dart — Riverpod AsyncNotifier reading from LocalDatabase.getPendingOperations(). lib/pages/sync/sync_outbox_page.dart — full-page list with status icons, retry/delete actions, “Sync All” button. lib/widgets/sync_outbox_banner.dart — persistent home-screen banner. Wire banner into home_page.dart; add route.

2. Photo Annotation Markup DailyReportr+

Add a lightweight markup screen after photo capture, allowing superintendents to draw arrows, circles, and text callouts directly on images before attaching them to daily reports. Currently, field teams resort to third-party apps or verbal descriptions to highlight defects, progress markers, or safety concerns — breaking the evidence chain. Annotated photos are more trustworthy because they document the reporter’s intent at the moment of capture, and the annotation layer can be hashed alongside the image for tamper evidence.

Why now: Three consecutive morning briefs have pushed photo/evidence capture themes. Autodesk Construction Cloud just shipped Apple Pencil markup support on mobile (beta), and Bluebeam Max launched with AI-powered markup features — the industry expectation for field photo annotation is rising. DailyReportr+ has the most photo-heavy workflow and no annotation capability. This pairs naturally with the existing Evidence Integrity Hash pattern and the Report Completion Score (photos with annotations could score higher).

Sketch: lib/widgets/photo_annotation_canvas.dartCustomPainter overlay with tool palette (arrow, circle, rectangle, freehand, text) and color picker (red/yellow/white). lib/pages/photo/photo_markup_page.dart — full-screen page receiving Uint8List from PhotoService, with Save/Skip actions. Save flattens overlay via dart:ui Canvas compositing into JPEG. Modify photo_picker_field.dart to route through markup page after capture.

3. Submittal Completeness Gate Buildr+

Add a completeness scoring system for submittals — the highest-stakes document type in construction project management. Before a submittal can be finalized, the gate checks: all required fields populated, at least one attachment present, spec section reference filled, reviewer assigned, and due date set. A visual score card (0–100%) appears on the submittal detail page, and documents below 80% show a warning badge in the list view. This turns the DailyReportr+ Report Completion Score pattern into a cross-app quality gate.

Why now: DailyReportr+ shipped the Report Completion Score on May 21 — the pattern is proven and users will expect it across the suite. Procore just launched a Modernized Submittals List View (open beta, May 19) with automated date calculations, raising the bar for submittal UX. Incomplete submittals cause the most downstream pain: rejected submittals delay procurement, which delays the schedule. Adding a completeness gate before Procore does puts Buildr+ ahead on submittal quality assurance.

Sketch: lib/services/submittal_completeness_service.dart — pure function taking a Submittal model, returning CompletenessResult (score 0–100, missing items list). lib/providers/submittal_completeness_provider.dart — Riverpod provider watching current submittal. lib/widgets/completeness_score_card.dart — reusable card with circular progress indicator and expandable checklist. Modify submittal_list_page.dart for badge overlay; modify detail page for score card; optional soft-block on Submit when <80%.
Competitive Intel

Industry Moves — Last 7 Days

ProcoreModernized Submittals List View now in open beta (May 19). Transforms submittals into a dynamic command center with configurable columns, inline attachment review, bulk editing of custom fields, and the ability to respond to pending submittals directly from the list without opening new tabs. Includes automated date calculations working backward from Required On-Site dates. Directly competes with Buildr+’s submittal workflows. (source)

BluebeamBluebeam Max launched globally (May 19) as a premium subscription with AI-powered features: Claude/Anthropic integration for natural-language automation of repetitive markup tasks, Magic Markups for automated takeoff, Smart Overlay for identifying design changes across drawing sets, and Smart Review for flagging scope gaps. Connected Sessions now link Bluebeam markups directly to Revit model views. The first major construction tool to embed LLM-powered document intelligence — focused on plan review rather than field operations, but worth watching. (source)

Autodesk Construction Cloud — 50+ May releases including: PlanGrid as-built import via Bridge (confirming PlanGrid is effectively end-of-life as standalone), Apple Pencil markup support on mobile (beta) for field annotation, automated Review workflows triggering on file upload, and issue thumbnail activity history with full audit trails. The mobile markup support directly competes with our Photo Annotation Markup idea. (source)

FieldwireNested Locations with up to 5 tiers of location hierarchy (May 2026), mobile location creation on iOS/Android, expanded task visibility on Android plans, and cache management for device storage. The 5-level location nesting is relevant to Inspectr+ and DailyReportr+ — if our apps only support flat location lists, this is a gap to watch. (source)

Takeaway: Four signals: (1) Submittal UX arms race — Procore’s modernized submittals raise the bar; our Submittal Completeness Gate idea would add a quality layer they don’t have. (2) AI entering construction tools — Bluebeam Max with Claude AI is the first major LLM integration; field-app implications are downstream but inevitable. (3) Mobile annotation is table stakes — ACC’s Apple Pencil markup makes our Photo Annotation idea urgent, not optional. (4) Location hierarchy depth matters — Fieldwire’s 5-level nesting could expose flat-list gaps in our inspection and reporting workflows.
Tomorrow’s Build Suggestion

Dominique → DailyReportr+

Dominique last merged to DailyReportr+ on May 17 (Weather Delay Claim Timeline) — a 5-day builder gap, the longest current gap for either builder. DailyReportr+ last received a merged build on May 21 (Report Completion Score by Katey). Note: Dominique has an unmerged branch (feature/nightly-20260522-weekend-work-exceptions) that may need resolution first. Suggest building Photo Annotation Markup (idea #2 above) to answer the rising competitive pressure from ACC’s Apple Pencil markup and complete the photo evidence quality layer the morning briefs keep requesting.

Katey → Buildr+

Katey/Howard-3 last built Buildr+ on May 17 (RFI Answer Field Verification) — a 5-day builder gap matching Dominique’s DailyReportr+ gap. Buildr+ last received a build on May 21 (Evidence Integrity Hash by Dominique). Suggest building Offline Sync Outbox (idea #1 above) to complete the cross-app offline parity — Buildr+ is the last app without a visible sync queue, and the pattern is now proven across DailyReportr+ and Inspectr+.