astroturf.dev
System Architecture

The 5-workspace RevOps blueprint AstroTurf is built on.

AstroTurf is organized as five connected surfaces, each with a clear purpose, owner, and visibility model. This page is the canonical spec — hand it to a developer, CRM consultant, or new hire and they can ramp in an hour.

Flow

Marketing Workspace
   └─ Lead ──► Sales Workspace
                  └─ Account → Opportunity → Bid → Proposal → Contract
                                                                  │
                                                                  ▼
                                                       Operations Workspace
                                                          └─ Project → Install → Closeout
                                                                                    │
                                                                                    ▼
                                                                            Client Center (live throughout)
                                                                                    │
                                                                                    ▼
                                                                            Warranty + Renewal
                                                                                    │
                                                                                    └──► back to Sales

Workspaces

Tier 1

Leadership Command Center

Weekly exec read on whether the business is healthy.

InternalOpen
Users
CEO, VP Sales, VP Ops, CFO
Main objects
Read-only roll-ups
Top automations
Friday digest email, red-line pager
Top metrics
Coverage, forecast accuracy, win rate, margin, backlog
Tier 2

Marketing Workspace

Generate qualified pipeline. Track demand sources + spend efficiency.

InternalOpen
Users
Marketing director, demand-gen, content, events
Main objects
Lead, Campaign, Source, Content, Event
Top automations
Score+route, bond/grant detect → Lead, MQL stale flag
Top metrics
CPL, MQL→SQL %, contributed pipeline $
Tier 2

Sales Workspace

Move qualified opportunities to signed contracts.

InternalOpen
Users
AE, sales engineer, bid coordinator, sales ops
Main objects
Account, Contact, Opportunity, Field, Bid, Proposal, Contract, Stakeholder
Top automations
Bid deadline ladder, proposal followups, contract→project handoff, year-6 renewal
Top metrics
Win rate, cycle days, pipeline coverage, bid on-time %
Tier 2

Operations Workspace

Deliver contracted work on schedule and on margin.

InternalOpen
Users
Ops director, PM, foreman, materials/logistics, QA
Main objects
Project, Site Assessment, Permit, Material, Crew, Daily Log, Change Order, Issue, Punch, Closeout, Warranty
Top automations
Daily log nag, phase triggers, walkthrough scheduling, closeout assembly
Top metrics
On-time SC %, margin variance, blocker days, daily log compliance
Tier 3

Client Center

Customer sees progress without phone calls.

ExternalOpen
Users
Athletic director, super, facilities, board
Main objects
Project (filtered), Schedule, Photos, Documents (client_visible), Change Orders, Contacts, Warranty
Top automations
Phase advance email, change-order notify, walkthrough invite, year-6 nudge
Top metrics
Active portal %, change-order cycle, NPS, ticket count

Object spine

Field is the long-lived object. Opportunity, Bid, Proposal, Contract, Project, Install all hang off it. This is what makes 8-year resurface renewals work — same Field, new Opportunity.

ObjectDescription
AccountDistrict, city, university, GC, facility owner
ContactAD, super, facilities director, architect, GC PM, board member
LeadPre-qualified inquiry
OpportunityQualified deal — one Account, one Field
FieldPhysical asset (geo, sport, sqft, install year, warranty clock). Long-lived — survives multiple Opportunities.
BidFormal solicitation response (RFP/IFB/RFQ doc + pricing + due date)
ProposalInformal offer (no public bid required)
ContractSigned agreement
ProjectOperational record after contract execution
InstallDaily-progress sub-record under Project
Change OrderScope or cost change under Project
Punch ItemWalkthrough finding to resolve before closeout
DocumentPolymorphic — attaches to any object, with client_visible flag
WarrantyMulti-year clock under Field

Handoffs

Hard rule: no handoff accepted with missing required fields. Sender's queue, not receiver's.

From → ToTriggerQuality owner
MarketingSalesMQL score threshold or manual flagSales ops (rejects bad MQLs back, with reason)
SalesOperationsContract executed (countersigned)Ops director (won't accept incomplete)
OperationsClient CenterProject record createdPM (sends portal invite)
OperationsCloseoutSubstantial complete + punch closedQA lead
CloseoutSales (renewal)Field warranty year 6 or expansion signalSales ops (auto-creates Renewal opp)

Client visibility rules

Client sees
  • Project status (phase, %, next milestone)
  • Schedule (target + actual milestones)
  • Foreman photos
  • Documents flagged client_visible
  • Open client tasks (decisions, signatures)
  • Change orders pending approval
  • PM, foreman, AstroTurf rep contacts
  • Warranty coverage + claim form
Client never sees
  • Internal margin / cost / vendor pricing
  • Sales notes, forecast probability, stage
  • Internal blockers, staffing concerns
  • Competitor notes
  • Other clients' data
  • Discount history
  • Internal Slack / email threads
  • Daily log internal commentary

Status stages

Lead
newworkingMQLSQL acceptedSQL rejectedrecycled
Opportunity
discoveryqualifiedbid prepbid submittedproposal sentnegotiationverbal commitcontract sentwon / lost
Bid
trackingspec reviewin progresssubmittedshortlistedwon / lost
Contract
draftinglegal reviewsentcountersignedexecuted
Project
handoffpre-constructionmobilizationsiteworkbase prepturf installstripingsubstantial completepunchcloseoutwarranty active
Closeout
docs pendingwalkthrough scheduledpunch openpunch closedpackage completeclient signedfinancial closed
Warranty
activeannual check dueclaim openclaim resolvedexpiredrenewal opp created
Source of truth: Kame House / Portfolio / Astroturf.Dev / RevOps Blueprint.md