Estym8 DocsEstym8 Home

Suite backlog — per-product inventory

Work from ../TODO.md. This file is the public inventory of IDs per product — not a second Now list.

Product context: One company · one plan-reading spine · peer products. Raise funds suite development (suite value & return). Estym8 remains the near-term revenue wedge.

Purpose: Published per-product ID tables (Estym8, Bodi, ColdEyes pointer, PlanM8, SiteM8, spine).
Public: /docs/suite-backlog
Work order: TODO.md
Partner view: PARTNER_BACKLOG.md
Vision map: product/plan-intelligence-skus.md · Paul notes
Lines of revenue / ancillary products: SUITE_LINES_OF_REVENUE.md
Ranked expansion (similar / supporting / ancillary + GTM): SUITE_EXPANSION_BOARD.md
Autonomy / “run itself”: ops/suite-autonomy.md
Last updated: September 2026.

Statuses: [ ] open · [/] doing · [x] done.

Portfolio at a glance

Canonical routes/hosts: lib/seo/suite-hosts.ts. Public PlanM8 is the A/E SKU; Prisma PlanM8* stays ColdEyes internals.

ProductRoute on estym8.aiDedicated hostStatusDeep brief
Estym8/estym8.aiClosed betafolder workflow
ColdEyes/coldeyescoldeyes.aiClosed beta — city not readylanding · municipal
PlanM8/planm8planm8.aiDiscovery waitlist — landing live (no A/E app)ae-design-review · landing
Bodi/bodigetbodi.ai (canonical; not bodi.ai)Discovery waitlist — landing live on hostlanding · bodi
SiteM8/sitem8sitem8.aiDiscovery waitlist — landing live (no site-read app)feasibility · landing

1. Estym8 — takeoff + estimate (+ ROM/WAG)

Job: Organic multi-trade takeoffs from plan sets / bid folders; plan intelligence; estimate docs; ROM/WAG screening depth.
Raise role: Near-term revenue and case studies.

Now (execution lives in TODO.md)

Ordered queue: TODO.md. ROM subtasks: UNIFIED_BACKLOG.md.

IDItemNotes
E0Pipeline solid (Dogtopia / Castle)P0 — organic accuracy
E1Workflow / UI / UX for betaP1
E1bROM / WAG UX — chooser, badge, promote CTA, QA pathP1 #5b — do not skip
E2Closed beta expansionAfter E0–E1
E3Stripe charging go-livePost-beta — UNIFIED Appendix A

Next / Later (Estym8-specific)

IDItemStatus
E10Promote-to-full from completed ROM[ ] UNIFIED #38
E11ROM indicative $ band (rate book / defaults)[ ] UNIFIED #39–40
E12ROM eval (chase-vs-pass ranking, not F4c)[ ]
E13RSMeans / licensed cost API[ ] procurement-gated
E14Estimate-to-submittal depth (substitution, richer specs)[ ] §P10 ongoing
E15Deeper trade verticals outside MEP core[ ] roadmap / App B
E16PDF overlay on the counted sheet: legend boxes, schedule cues, gaps, overlaps, printed scale, and the line that you confirm a count before it is the bid[/] Estym8 viewer. Keep it on the symbols the count actually found

Done (selected)

IDItem
Ex1runDepth ROM | FULL + API + UI default FULL
Ex2ROM early-exit + labeled romJson
Ex3Folder classify → plan → execute spine

2. Bodi — ICT / LV project brain → BOD

Job: Sources → claims → Basis of Design for security, AV, cabling, Wi‑Fi.
Raise role: Peer product; shared org/auth and Estym8→Bodi feeds funded as suite work.
Surface: Landing /bodi on estym8.ai + dedicated host getbodi.ai attached to the Estym8 Vercel project (middleware rewrite / → /bodi). Marketing waitlist is live; /bodi/app does not exist — same honesty as PlanM8. The separate Bodi GitHub is abandoned; do not merge it into this workspace. Rebuild the BOD draft workflow on this spine (A0).
Boundary: BODI_ESTYM8_WRITE_BOUNDARY.md · integration · vs Estym8.

Now / Next

IDItemStatus
B0Suite-surface waitlist landing /bodi + getbodi.ai host on Estym8[x] 2026-09 — marketing + access; no product app yet
A0BOD draft workflow on the Estym8 spine (sources → claims → confirm)[ ] next product — do not port the old Bodi repo
B1Keep write-boundary enforced in any cross-product code[x] docs; [ ] CI/review habit
B2Shared org / auth story (SSO or linked accounts)[ ]
B3Estym8 → Bodi structured export (claims/sources feed) beyond Markdown[ ]
B4Push / pull APIs (read Estym8 concerns/RFIs into Bodi sources)[ ]
B5Bundle packaging narrative (sell Estym8 + Bodi on same pursuit)[ ] GTM
B6Email / .msg ingestion path (Bodi-native; Estym8 stays supporting-only)[ ] Estym8-spine, not the abandoned repo
B7BOD draft UX polish for design-partner pilots[ ] after A0
B8Claim lineage audit export for GC / owner review[ ]
B9Email, design standard, and meeting minutes become claims with a source (Shannon 2026-09-29, item 4). ICT / LV basis of design. Do not copy BICSI TDMM or RSMeans into the product.[ ] after A0
B10A confirmed claim checked against a Revit element. Bodi keeps the claim. PlanM8 writes the finding.[ ] after the Revit pipe prove
B11PDF overlay for a claim: pin the sentence to the page it was read from. Not a device count. You decide.[ ] after A0

Later

IDItemStatus
B20Expand “project brain” framing beyond ICT/LV only if product scope expands[ ]
B21Two-way sync without overwriting Estym8 counts[ ] after B3–B4
B22Pricing / seating model for Bodi (standalone vs bundle)[ ]

Non-goals

  • Bodi does not become the system of record for Estym8 device counts or rawOutput.
  • Do not silently merge Bodi into Estym8.

3. ColdEyes — municipal plan check — P1 ACTIVE (design partner)

Job: City / AHJ permit review workflow — completeness, comment log, back-check; staff keep the stamp.
Raise role: Active P1 — municipal design partner willing to test (elevated 2026-08-04; partner city name private / internal only).

Single backlog home (do not duplicate PM8 tables)

→ COLDEYES_BACKLOG.md — PM8 Now / Next / Later + shipped shell checklist.
Workflow: product/coldeyes-workflow.md · Brief: product/municipal-plan-check.md · Internal: ops/coldeyes-internal.md

Elevate status

Fired. ColdEyes Now items are P1 in parallel with Estym8 takeoff trust — do not thrash Dogtopia/Castle for city UI. Public brand ColdEyes. Track all PM8 IDs in COLDEYES_BACKLOG only.

Snapshot (see COLDEYES_BACKLOG for full table)

FocusState
Landing + brand ColdEyesDone
/coldeyes/app shell + human act loopDoing (PM8-5)
PDF overlays (PM8-5a)Next
Completeness / AI drafts / export / back-checkOpen (PM8-1–4, PM8-6–7)

Non-goals

  • City BOM / cost estimating · auto-approve permits · replace examiners · “AI chatbot for cities” as the product.

4. PlanM8 — design agency / A/E pre-issue QA

Job: Internal design QA before seal / issue; optional city-style pre-submit checks.
Raise role: Funded discovery with Paul → design-agency pilot.
Public brand: PlanM8 (was ClearToIssue → CheckSet). Landing /planm8, host planm8.ai. Marketing waitlist is live; /planm8/app does not exist.
Brief: product/ae-design-review.md

Now / Discovery

IDItemStatus
CTI1Confirm PlanM8 brand vs Estym8 module (one login vs separate surface) — Paul[/] Public brand is PlanM8; module fallback still open
CTI2v1 firm QA checklist (title-block / index first?) — Paul[ ]
CTI3Ingest design set / revision package on shared spine[ ]
CTI4Coordination / completeness flag list with sheet citations[ ]
CTI5Human confirm / dismiss workflow[ ]
CTI6Redline / issue register export[ ]
CTI7City-style pre-submit run (shared packs with ColdEyes)[ ]
CTI8Design-agency pilot plan (1–2 firms, success metrics)[ ]
CTI9UX: checklist → flags → revision track (not chatbot-first)[ ]

Next

IDItemStatus
CTI20Design-phase memory (SD → IFC; flag regressions)[ ]
CTI21Discipline-lead queues (E/M/P/S/A)[ ]
CTI22Firm seat pricing[ ]
CTI23Link issues forward into ColdEyes applicant package[ ]
CTI24Revit pre-issue check (Paul 2026-09-01, sharpened 2026-09-29): connector reads the live model, a finding names the element and the requirement, human confirms. Not judged if the model has no measurement. Paul has a harness on his work laptop (MCP connector and a tab inside Revit) and is waiting on models. After his tests, a zip of the build goes to Quinn. Do not start a second connector. Do not auto-move geometry in the first prove. PDF check stays first. Not a chatbot HUD. Do not promise live Revit on the waitlist. Shared with S8 / PM8-20. Brief: docs/product/from-paul/Jurisdiction_Aware_BIM_QA_PRD.md. When: docs/product/from-paul/README.md.[ ]
CTI25A city comment names the element. The next issue shows whether that element changed. Humans keep the stamp.[ ] after CTI24
CTI26A finding the architect confirmed travels with the package. The examiner still decides.[ ] after CTI24
CTI27Drawing consistency on low-voltage sheets (Paul 2026-10-08, v2.1). Plans, reflected ceiling plans, schedules, risers, details, legends, and notes agree. IDs match. Devices are accounted for. Output is a workbook a drafter works sheet by sheet. Does not judge design or code. Fire alarm stays out unless asked. Electrical, mechanical, plumbing, fire protection, architectural, structural, and civil stay out. He tested it on SJMC Parking Structure CYC 6 (T and TY). His write-up says a blind run found 54 items and his check found no false findings. That is his test, not a PlanM8 prove. Spec and Revit-export add-ons run only when he supplies them. The issued PDF is what gets judged. Not the Peoria list. Not CTI24. Do not start the PlanM8 app from this package. Files: docs/product/from-paul/. When: docs/product/from-paul/README.md.[ ] Paul runs it. Not in the app.
CTI28PDF overlay on the issued set: a confirmed finding sits on the sheet it names. You issue. Do not start the PlanM8 app from this line.[ ] after the app exists

Later

IDItemStatus
CTI40Multi-office checklist templates[ ]
CTI41PE/stamp responsibility reminders (never auto-seal)[ ]

Non-goals

  • GC BOM · PE stamp replacement · municipal enforcement as the primary job.

5. SiteM8 — parcel / zoning buildable envelope

Job: Early site go/no-go for architects / developers.
Raise role: Funded discovery after ClearTo* rule-pack habits; public-data path.
Public brand: SiteM8 — host sitem8.ai, route /sitem8, favicon Si. Waitlist landing live; no /sitem8/app yet.
Brief: product/feasibility.md

Now / Discovery

IDItemStatus
F1Working brand / registrar decision — SiteM8 / sitem8.ai[x] purchased; landing live
F2Public parcel / plat / zoning data sources shortlist[ ]
F3Ingest path for site docs + optional GIS/parcel IDs[ ]
F4Buildable-envelope themes output (coverage, parking, setbacks, variance likelihood) with citations[ ]
F5Go/no-go memo export[ ]
F6Success metrics: time-to-decision + evidence quality[ ]
F7Designer / developer pilot candidate list[ ]

Next

IDItemStatus
F20Jurisdiction zoning pack v0 (1–2 metros)[ ]
F21Hand-off into ClearToIssue schematic checklist[ ]
F23A stated parcel constraint can be asked of the model later. SiteM8 owns the statement. PlanM8 asks whether the model still fits it. Do not invent zoning.[ ] after F4
F24PDF overlay when the source is a drawing: pin the parcel note to the sheet it was read from. Do not invent zoning on a map.[ ] after F4
F22Pricing (per site vs seat)[ ]

Later

IDItemStatus
F40Variance likelihood model (explicitly non-legal advice)[ ]
F41Portfolio site screening for developers[ ]

Non-goals

  • Replace land-use counsel · auto-approve entitlements · GC estimating.

6. Shared spine (funded once — benefits all products)

IDItemStatus
S1Folder / multi-PDF ingest + classify[x] Estym8
S2Sheet / discipline intelligence[x] ongoing depth
S3Organic legend / schedule / conflict patterns[x] ongoing
S4Multi-model routing + capability preflight[x] ongoing
S5Citation-backed concern / comment primitives reusable by ClearTo*[/] lib/suite/decision-trace.ts — ColdEyes findings consume; PlanM8 next
S6Jurisdiction / checklist config schema (cities + firms)[ ]
S7Audit log primitive (actor, timestamp, artifact)[ ] shared
S8Revit/BIM extract module (owned with ColdEyes flagship; PlanM8 CTI24 consumes the same trace)[ ] spike — live model → element → measured vs required → citation → verdict or not judged. 2026-09-29: prove the pipe (read + select an element) before writing geometry. Estym8 quantities and Bodi pathway rules are later jobs on the same connector. Not a chatbot HUD
S10One job: SiteM8 states the parcel, Bodi holds the claim, PlanM8 checks before print, Estym8 counts, ColdEyes decides. Same finding shape. product/suite-one-job.md[x] path locked 2026-09-29 · [ ] each step still proves on its own
S9Cost / cache controls for resubmittals and ROM promote[ ]

7. Cross-product GTM & docs (suite raise)

IDItemStatus
G1Public suite docs + landing peer section[x] 2026-08
G2Suite value & return doc for investors[x] this pack
G3Per-product backlog (this file) kept current with UNIFIED[ ] ongoing
G4Partner asks tracked (Paul CTI checklist; municipal PM8 pilot)[ ]
G5Pitch / one-pager: raise funds entire suite[x] 2026-08 investor pack sync
G6Registrar buys for suite hosts[x] coldeyes.ai = ColdEyes. planm8.ai = PlanM8 / A/E. getbodi.ai = Bodi. sitem8.ai = SiteM8.
G7Suite lines of revenue + ancillary board kept current[x] SUITE_LINES_OF_REVENUE.md · ranked board SUITE_EXPANSION_BOARD.md 2026-09-01
G8Suite autonomy plan (self-running products / exception-only ops)[x] ops/suite-autonomy.md — 2026-09-01: People product filter + NOTIFY_FAILED dead-letter. Keep executing remaining A2–A4 as products ship
G9Ranked similar / supporting / ancillary + monetize / market[x] SUITE_EXPANSION_BOARD.md 2026-09-01 — execution IDs in §9
G10News radar (scour → post → notify)[x] 2026-09-01 — unattended publish on each app’s /news; cron /api/cron/news-radar; Shannon only dismisses a bad story

8. How this relates to TODO.md

ConcernWhere to work
What to do nextTODO.md
Dogtopia / Castle diaries, ROM subtasksUNIFIED appendix
ColdEyes PM8 IDsCOLDEYES_BACKLOG
Per-product ID tables (this file)Inventory only
Partner-facing summaryPARTNER_BACKLOG
Investor $ storySUITE_VALUE_AND_RETURN + fundraise brief

Partner city name stays in internal ops only.


9. Expansion board (Later — do not start apps)

Canonical ranks + monetize + market: SUITE_EXPANSION_BOARD.md. Not Now. Promote only when the parent product has an A0 golden path.

IDRankItemStatus
X1S1Owner / CM diligence as Estym8 mode (brand later if GTM needs it)[ ] after ColdEyes A0 or owner inbound
X2S2Applicant pre-check copy + later submitter credits (inside ColdEyes)[ ] after city notify loop
X3P1Addenda / revision delta memo on Estym8[ ] after Firm folder trust
X4P2Shop drawing vs issued set (Estym8 CA)[ ] after estimate-to-submittal depth
X5P3Sub bid-leveling vs organic takeoff[ ] Firm-only; after X3
X6P4First discipline pack (fire or accessibility or energy)[ ] after S5 citation + S6 schema
X7A1ColdEyes implementation / training rate card[ ] with first paid city logo
X8A4Insurance / surety partner conversations (not a product)[ ] after citation UX + counsel
X9S3Outsourced plan-check firm tenancy[ ] PM8-28 memberships
X10P6Model audit GA decision[ ] after S8 / CTI24 / PM8-20 spike bar

Non-goals stay in the expansion board §1 / revenue §3.4 — no city BOM, no auto-stamp, no HOA/managed-review apps until A0 is boring.